.net提交HTML元素到后台,遇到Request报错 解决方案
对于.NET MVC 项目来说,在Controller中对应的Action方法上打上标签:
[ValidateInput(false)]
在MSDN上:HttpRequest 类使用输入验证标志来跟踪是否对通过 Cookies、Form 和 QueryString 属性访问的请求集合执行验证。ValidateInput 方法设置这些标志,以便在调用 Cookies、Form 或 QueryString 属性的 get 访问器时执行输入验证。验证的工作原理是,将所有输入数据与具有潜在危险的数据的硬编码列表进行对照检查。
当设为FALSE时,仅仅影响一个方法。
另外,
.net 在 code-behind 的项目中 :
只要在页头的指令中加ValidateRequest="false" 就可以解决,如下所示:
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="xxx.aspx.cs" Inherits="xxx" ValidateRequest="false" %>
这样设置,影响到一个.cs文件。
最不推荐的是下面这种:
查看配置文件中是否有同样的设置,如:<pages validateRequest="false"></pages>
若上述操作后仍然报错,可在配置文件中加入节如下:
<configuration> <system.web> <httpRuntime requestValidationMode="2.0" /> </system.web> <pages validateRequest="false"> </pages> </configuration>
影响范围是整个项目。
作者:Eric Li
出处:http://www.cnblogs.com/ericli-ericli/
除转载文章外,随笔版权归作者和博客园所有,欢迎转载,转载请标明出处。
如果您觉得本篇博文对您有所收获,觉得作者还算用心,请点击右下角的 [推荐],谢谢!