请求.Unvalidated有错误的参数来查找表单视图中的嵌套文本框



这是我第一次验证TextBox。我使用MSDN (http://msdn.microsoft.com/en-us/library/hh882339(v=vs.110).aspx)上描述的以下代码来禁用请求验证,然后手动检查未验证的用户输入。我的文本框嵌套在一个formView和我的论点似乎不工作。如何取消嵌套文本框的有效性?我做错了什么?

protected void InsertButton_Click(object sender, EventArgs e)
    {
          var userComment = Request.Unvalidated(FormView3.FindControl("aboutTextBox")); 
        // Has the wrong arguments. How can I unvalidate the nested control?
        StringBuilder sb = new StringBuilder(HttpUtility.HtmlEncode(FormView3.FindControl("aboutTextBox")));
        // Selectively allow <b> and <i>
        sb.Replace("&lt;b&gt;", "<b>");
        sb.Replace("&lt;/b&gt;", "</b>");
        sb.Replace("&lt;i&gt;", "<i>");
        sb.Replace("&lt;/i&gt;", "</i>");
}

要禁用请求验证,请在.aspx页面(第一行)的page指令中添加此

ValidateRequest="false"

在web中。

<system.web>下的config
 <httpRuntime requestValidationMode="2.0"/>

然后尝试获取textbox值正常

var userComment = ((TextBox)View1.FindControl("aboutTextBox")).Text;

通过关闭请求验证,您需要确保您将自己验证用户输入!

最新更新