无法从';System.Web.UI.HtmlControls.HtmlInputText';到';字

本文关键字:HtmlControls HtmlInputText UI System Web | 更新日期: 2023-09-27 18:21:08

假设我希望使用antiXSS在针对XSS的项目的用户控件中编码<input>标记。

searchbox.ascx

<input id="searchBox" type="text" class="QueryBox" runat="server" />

searchbox.ascx.cs

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using Microsoft.Security.Application;
namespace Project2015.Website.layout.search
{
    public partial class searchbox : System.Web.UI.UserControl
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            searchBox = Encoder.HtmlEncode(searchBox);
        }

    }
}

当我试图编译我的代码时,我得到了这个错误

错误108参数1:无法从转换"System.Web.UI.HtmlControls.HtmlInputText"到"string"

错误107的最佳重载方法匹配"Microsoft.Security.Application.Encoder.HtmlEncode(字符串)"有一些无效参数

看不出我在这里做错了什么。

无法从';System.Web.UI.HtmlControls.HtmlInputText';到';字

搜索框是HTML控件。在编码中使用text属性。

searchBox.Text=编码器.HtmlEncode(searchBox.Text);

也可以直接在aspx文件中使用encode。

我建议最好为编码创建辅助函数,并在代码中使用辅助函数。如果你想应用一些条件,以后会更容易定制。