我正在使用ASP.NET WebForms(.NET 4.5),并具有“内容块”控件,该控件可在许多页面上重复使用。我尝试将控件甚至单个元素的ValidateRequestMode设置为“ Disabled”,但来自web.config的请求验证仍可防止输入不安全。

有办法解决还是我做错了什么?

例:

最佳答案

经过一番尝试和错误之后,我刚刚用下面的代码为一个网站解决了同样的问题-当涉及到WebForms时,Microsoft有关新的“请求验证”过程的文档似乎是错误的。

像这样在web.config中定位.NET 4.5:

<httpRuntime targetFramework="4.5" requestValidationMode="4.5" />


然后在输入控件本身中添加ValidateRequestMode="Disabled",即:

<asp:textbox id="myControl" runat="server" ValidateRequestMode="Disabled"/>


如果您直接访问POST数据(而不是通过myControl.Text访问),则此时还需要绕过验证:

Request.Unvalidated.Form("myControl");

10-08 11:02