Asp.Net MVC上的HttpRequestValidationexception

时间:2012-06-11 16:31:49

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

我收到一条带有此错误消息的HttpRequestValidationexception:

  

“从中检测到一个潜在危险的Request.Form值   客户端”。

但我在属性上有AllowHtml,我收到错误。 问题是,稍后在我的代码中我得到以下属性以巫婆格式知道我将显示我的视图ControllerContext.HttpContext.Request.Params.AllKeys.Contains("format")。在这个“Param Getter”中,我收到了错误。

假设我的代码类似于以下内容:

public class House
{
    [AllowHtml]
    public string Text { get; set; }
    public string Name { get; set; }
}

[HttpPost, ValidateAntiForgeryToken]
public ActionResult CreateTopic(House h)
{
 //business code
 if(ControllerContext.HttpContext.Request.Params.AllKeys.Contains("format"))
 {
    Return view;
 }
 }

我该如何解决这个问题?我已经尝试使用控制器操作方法的ValidateInput(false)属性。有什么想法吗?

1 个答案:

答案 0 :(得分:5)

尝试将此添加到<system.web>部分中的web.config:

<httpRuntime requestValidationMode="2.0"/>

然后在您的操作中包含[ValidateInput(false)]属性。

Scott Hansleman解释了此功能here