MVC请求验证已关闭,在访问Request.Form时仍会抛出异常

时间:2012-07-23 19:56:33

标签: asp.net .net asp.net-mvc-3

默认情况下,ASP.net会进行请求验证,以确保用户提交的值没有潜在危险。有关如何禁用它的信息,请参阅this popular queston

我已成功禁用它,以便在检测到潜在危险字符时控制器不会抛出异常。但是,如果我访问Request.Forms属性,它会再次尝试进行请求验证并抛出异常。具体来说,我正在做的是:request.Form.ToString()

控制器已经使用[ValidateInput(false)]进行了装饰,并且模型装饰有[AllowHtml()],在访问Request.Forms属性时,这些都没有被尊重。如果没有抛出异常,我怎么能这样做?

1 个答案:

答案 0 :(得分:1)

.Net 4.0添加了您需要通过将requestValidationMode="2.0"添加到web.config的httpRuntime元素来禁用的其他请求验证。

有关详细信息,请参阅ASP.NET breaking changes