我正在使用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");