2

私はMVC3 C#を持っています。ウェブアプリ。プロパティの 1 つは、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

簡単に書く: UI:

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

コントローラ:

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