Tag: 请求validation

如何在不将RequestValidationMode设置为2.0的情况下禁用请求validation?

我们刚刚升级到ASP.NET 4.0,发现requestValidation不再有效。 MSDN文档建议我们需要将web.config中的requestValidationMode设置为2.0: 4.0(默认值)。 HttpRequest对象在内部设置一个标志,指示每当访问任何HTTP请求数据时都应触发请求validation。 这保证了在请求期间访问诸如cookie和URL之类的数据之前触发请求validation。 将忽略配置文件中页面元素(如果有)或单个页面中@ Page指令的请求validation设置。 2.0。 仅对页面启用请求validation,而不是对所有HTTP请求启用。 此外,配置文件中的pages元素(如果有)或单个页面中的@ Page指令的请求validation设置用于确定要validation的页面请求。 这对我们有用,但我有点困惑。 似乎我们将其置于传统/兼容模式。 当然应该可以有4.0行为,但仍然可以选择在页面上关闭它?

我无法关闭ASP.NET MVC控制器的请求validation

我试图通过执行以下操作关闭控制器中所有操作方法的请求validation: [ValidateInput(false)] public class MyController : Controller { … 我正在使用的参考说这是可能的,并告诉我这样做,但由于某种原因,它不起作用。 如果我通过文本框提交任何html(甚至是简单的标签),我会收到错误消息: 从客户端检测到潜在危险的Request.Form值(text = “)。 通过将属性附加到单个方法也无法正常工作。 如何禁用控制器的请求validation? 编辑 我在VS2008内置测试服务器。