2

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

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

attachmentEditor 类使用 CkEditor。因此,控件中嵌入了粗体、斜体等的 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() 帮助器编码/解码?

4

3 回答 3

3

尝试使用属性装饰SowDescriptionviewmodel[AllowHtml]属性。

于 2013-01-23T22:17:28.713 回答
2

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

 [AllowHtml]

您需要 System.Web.Mvc 参考才能使用它

于 2013-01-24T06:31:36.707 回答
0

简单地写:用户界面:

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

控制器:

model.Body = System.Net.WebUtility.HtmlDecode(model.Body);
于 2014-05-23T13:59:15.627 回答