我有我的模特:
public class EmailTemplateModel
{
public int EmailTemplateId { get; set; }
[Required]
public string Name { get; set; }
[Required]
public string Subject { get; set; }
[AllowHtml]
[Required]
public string Content { get; set; }
}
在我的控制器上:
[ValidateInput(false)]
public ActionResult AddNewTemplate(EmailTemplateEditorModel model)
{
}
然而,我收到以下错误:
从客户端检测到潜在危险的Request.Form值
为什么我会收到这些错误,即使应使用ValidateInput / AllowHtml属性禁用此检查?看看其他帖子,我不清楚我是否需要这两个或只是其中一个属性...
答案 0 :(得分:10)
您需要添加
<httpRuntime requestValidationMode="2.0" />
到web.config
。见ASP.Net 4.0 Breaking Changes。尽管配置值令人困惑,但这是 3.5 和 4.0 之间的重大变化 - 验证现在在管道中更早运行,之后MVC有机会根据您的属性禁用它。