根据此链接,现在我们可以使用 Request.Unvalidated 访问表单字段的原始值而不触发请求验证(并查看可怕的错误消息A 潜在危险 Request.Form...)。不幸的是,我无法让它工作。
网页配置
<httpRuntime targetFramework="4.5" requestValidationMode="4.5" />
视图模型中的一个简单字段:
// [AllowHtml] - even I tried this, it still did not work :(
public string Description { get; set; }
和控制器动作:
[HttpPost]
public ActionResult Edit([Bind(Prefix = "Edit")] EditModel model)
{
string s = Request.Unvalidated.Form["Edit.Description"];
}
我仍然看到错误“潜在危险的 Request.Form...”,为什么?试过谷歌,但没有 ASP.NET MVC 的例子。
工具箱:我正在处理一个针对 .NET 4.5 和 VS2012 的 ASP.NET MVC 4 项目。
谢谢,
更新:使用带有 Description 属性的 AllowHtml 解决了我的问题,甚至不需要 Request.Unvalidated。正如我在@webdeveloper 的回答中评论的那样,仍然存在一个问题。