2011-03-17 77 views
12

我在我的mvc應用程序中使用了jquery.cleditor.js插件來編輯html編輯器,它工作正常。現在我想張貼編輯值控制器動作,但在這裏我得到以下異常:將數據從html編輯器發送到MVC中的控制器動作

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

如果有人有想法的話,請指導我做這件事。

+0

什麼版本的:您使用的是IIS,.NET Framework,ASP.NET MVC? – Jon 2011-03-17 07:17:46

+0

4.0 .net框架與mvc 2並在我的本地機器上測試 – munish 2011-03-17 07:22:38

+0

Jon,我找到了解決方案:在web.config文件的system.web標記下添加並添加[ValidateInput(false )]控制器的操作方法 – munish 2011-03-17 07:58:13

回答

23

如果您將ValidateInput屬性添加到false它將允許您提交HTML。要知道,你是在視圖模型

[HttpPost, ValidateInput(false)] 
public ActionResult DoStuff(MyViewModel viewModel) 
{ 
    //... 
} 

轉彎驗證所有屬性如果您使用的是.NET 4,你還必須設置在你的web.config文件<httpRuntime requestValidationMode="2.0" />


如果您正在使用MVC 3,你不必在ValidateInput屬性添加到控制器動作,您可以添加AllowHtml屬性在視圖模型的財產。

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

    [AllowHtml] 
    public string prop2 { get; set; } 
} 

這樣的HTML prop2MyViewModel的其餘部分將被驗證。

+2

對於'AllowHtml' – Askolein 2014-06-04 16:35:55

相關問題