Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/32.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何通过请求验证_C#_Asp.net_Validation - Fatal编程技术网

C# 如何通过请求验证

C# 如何通过请求验证,c#,asp.net,validation,C#,Asp.net,Validation,我有一个GridView,我需要更新一些插入HTML代码的数据;我需要这些数据存储编码和解码的要求 我不能以任何方式全局禁用“请求验证”,甚至不能在页面级别禁用,因此我需要一个解决方案来在控制级别禁用“请求验证” 目前,我使用的脚本应该是Html。对每个正在更新的值进行编码,但“请求验证”似乎在事件行更新之前开始工作,所以我得到了错误“Page a潜在危险的请求。Form…” 你知道怎么解决吗 谢谢 protected void GridView1_RowUpdating(object send

我有一个GridView,我需要更新一些插入HTML代码的数据;我需要这些数据存储编码和解码的要求

我不能以任何方式全局禁用“请求验证”,甚至不能在页面级别禁用,因此我需要一个解决方案来在控制级别禁用“请求验证”

目前,我使用的脚本应该是Html。对每个正在更新的值进行编码,但“请求验证”似乎在事件行更新之前开始工作,所以我得到了错误“Page a潜在危险的请求。Form…”

你知道怎么解决吗

谢谢

protected void GridView1_RowUpdating(object sender, GridViewUpdateEventArgs e)
    {
        foreach (DictionaryEntry entry in e.NewValues)
        {

            e.NewValues[entry.Key] = Server.HtmlEncode(entry.Value.ToString());

        }
PS I使用Wweb控件而不是MVC

使用方法注册脚本,该脚本将在服务器端提交和解码所有输入字段的值之前对这些字段的值进行编码

string script = String.Format("var inputs = $get('{0}').getElementsByTagName('input');" + 
  "for(var i = 0; i < inputs.length; i++) " + 
    "inputs[i].value = encodeURIComponent(inputs[i].value);", this.ClientID);
Page.ClientScript.RegisterOnSubmitStatement(this.GetType(), "onsubmit", script);
string script=string.Format(“var inputs=$get('{0}')).getElementsByTagName('input');”+
“对于(变量i=0;i
对于简单文本框或隐藏字段控件,如果控件的ID以_u(两个下划线)开头,则跳过这些控件的请求验证。我用它来保护我的整个页面和站点,但为了一个控件而绕过它。然而,这不是一个官方的方式,所以它可能会在未来的.net版本中更改