C# · 12月 28, 2021

c# – 我无法关闭ASP.NET MVC控制器的请求验证

我正在尝试关闭控制器中所有操作方法的请求验证: [ValidateInput(false)]public class MyController : Controller{ …

我使用的引用说这是可能的,并告诉我这样做,但由于某种原因,它不工作.

如果我通过一个文本框提交任何html(甚至一个简单的< b>标签),我得到错误:

A potentially dangerous Request.Form value was detected from the client (text=<b>”).

通过将属性附加到单个方法也不起作用.

如何禁用控制器的请求验证?

编辑

我在VS2008内置测试服务器工作.

解决方法 我在我的机器上测试了它,既有类定义和动作方法,在这两种情况下都适用于我.您确定您的视图与您的方法/控制器一致吗?您是否将属性放在GET方法或POST方法上? [AcceptVerbs(HttpVerbs.Post)][ValidateInput(false)] public ActionResult MyAction (int id,string content) { // … }