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

时间:2011-03-17 07:15:31

标签: asp.net-mvc asp.net-mvc-2 validation

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

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

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

1 个答案:

答案 0 :(得分:23)

如果您使用ValidateInput添加false属性,则可以提交HTML。请注意,您正在对viewModel

中的所有属性进行验证
[HttpPost, ValidateInput(false)]
public ActionResult DoStuff(MyViewModel viewModel)
{
    //...
}

如果您使用的是.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; }
}

这允许prop2的HTML,但MyViewModel的其余部分将被验证。