根据该链接,现在我们可以使用Request.Unvalidated访问表单字段的原始值wihout触发请求验证(并看到可怕错误消息甲潜在危险的Request.Form ...)。不幸的是我无法得到它的工作。如何使用Request.Unvalidated与ASP.NET MVC 4?
的Web.config
<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的例子。
工具箱:我正在使用ASP.NET MVC 4项目,面向.NET 4.5和VS2012。
感谢,
UPDATE:使用AllowHtml与Description属性固定我的问题,甚至不需要Request.Unvalidated。在@ webdeveloper的回答中,我仍然在评论下面的问题。
我的代码有什么问题吗?编辑操作到达之前出现错误。 –
@Tiendq它落在绑定上,'Unvalidated'的想法是你可以访问具有'潜在危险的Request.Form'的字段,但是这里有'Edit([Bind(Prefix =“Edit”)] EditModel model)'binder works没有'未经验证'。 – webdeveloper
谢谢,我用HtmlAllow修复了它。但正如你所说,有没有机会使用模型绑定和Request.Unvalidated? –