将数据从html编辑器发布到MVC中的控制器操作

mun*_*ish 12 validation asp.net-mvc asp.net-mvc-2

jquery.cleditor.js在我的mvc应用程序中使用html编辑器的插件,它工作正常.现在我想将编辑器值发布到控制器操作,但在这里我得到以下异常:

A potentially dangerous Request.Form value was detected from the client 
    (NewContentPage.PageContents="<STRONG>dafs </STRON..."). 
Run Code Online (Sandbox Code Playgroud)

如果有人有想法,请指导我这样做.

Bja*_*ðar 23

如果添加ValidateInput属性,false则允许您提交HTML.请注意,您正在对viewModel中的所有属性进行验证

[HttpPost, ValidateInput(false)]
public ActionResult DoStuff(MyViewModel viewModel)
{
    //...
}
Run Code Online (Sandbox Code Playgroud)

如果您使用的是.NET 4,则还必须<httpRuntime requestValidationMode="2.0" /> 在web.config文件中进行设置.


如果您使用的是MVC 3,则不必将该ValidateInput属性添加到控制器操作中,您可以AllowHtml在viewModel中向属性添加属性.

public class MyViewModel
{
    public string prop1 { get; set; }

    [AllowHtml]
    public string prop2 { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

这允许HTML,prop2但其余的MyViewModel将被验证.