のHtmlEncode私はHtml.TextAreaForコントロールを持つASP.Net MVC 3ページを持っています。以下のコードを参照してください。私のような角括弧内のテキストとHTTPのPOSTアクションにページを送信しようとした場合:<test>
、私は黄色のエラー画面を取得すると言って:ASP.Net MVC 3 Html.TextAreaFor
を潜在的に危険のRequest.Form値が クライアント(RequestTextから検出されました= "")。
私はネット4に新しい<%: %>
構文を言うan article by Scott Guthrieは、自動的に要素をHtmlEncodeます見つけたので、私はこれを取得していますなぜ私は理解していません。私は<%:%>構文をHtml.TextAreaForコントロールに使用しているので、自動的にこれを処理し、山括弧を適切な "& lt"に変換します。 「& gt」の文字列です。
<% using (Html.BeginForm())
{ %>
<%: Html.ValidationSummary() %>
<h2>Enter a description of the support needed</h2>
<%: Html.TextAreaFor(m => m.RequestText, 4, 90, null) %>
<input type="submit" value="Submit" />
<% } %>
チェイス - 私はむしろ[AllowHtml]を使用しないで、コントローラアクションにポストバックするときに.netフレームワークhtmlでテキストをエンコードする方法はありませんか? –
コントローラーで手動でエンコードします。これは、エンコードされていないデータをポストしたくないデータレイヤーです。コントローラーレベルでこれを処理する必要があります。 –
基本的にHTMLはデータをエンコードできません。 Javascriptを使用することはできますが、単にJSを無効にできるだけであるため、悪いことです。これを行うための唯一の確実な方法は、クライアントレベルではなくサーバーレベルです。 –