MVC3 C#潜在危险请求错误

时间:2013-01-23 21:37:31

标签: asp.net-mvc-3 html-encode

我有一个MVC3 C#。网络应用。我们的一个属性为TextBoxFor控件使用RTF控件:

                @Html.TextAreaFor(model => model.SowDescription,
                    (object)new
                    {
                        rows = 7,
                        cols = 65,
                        @class = "celltext2 save-alert attachmentEditor",
                        disabled = "disabled"
                    } 

attachmentEditor类使用CkEditor。因此,在Bold,Italics等控件中嵌入了html标签。用户将一些数据粘贴到此TextArea中,我们收到此错误:

A potentially dangerous Request.Form value was detected from the client (SowDescription="<br />  <br />  <u><..."). ******** 

我们在其他情况下使用HttpUtility.HtmlDecode,但是在Html.TextAreFor()帮助器中使用它我们得到这个错误:

Templates can be used only with field access, property access, single-dimension array index, or single-parameter custom indexer expressions.

我们如何使用Html.TextAreaFor()帮助器编码/解码?

3 个答案:

答案 0 :(得分:2)

尝试使用SowDescription属性修饰[AllowHtml] viewmodel属性。

答案 1 :(得分:2)

在您的模型中,在SowDescription定义之前添加此

 [AllowHtml]

您需要使用System.Web.Mvc参考

答案 2 :(得分:0)

简单地写道: UI:

CKEDITOR.replace('Description', { toolbar: '1', htmlEncodeOutput: true});

控制器:

model.Body = System.Net.WebUtility.HtmlDecode(model.Body);