0

MVC3 C#.NetWebアプリを持っています。CKEditorを使用しています。CKEditorHTMLをDBのフィールドに保存しています。挿入時にHTMLをエスケープしています。すなわち

<strong> Effort estimated for the subtask elements</strong>

になります

&lt;strong&gt; Effort estimated for the subtask elements &lt;/strong&gt;

これは正常に機能しています。ただし、ビューのロード後にDrop Down onchangeイベントでビューを再投稿すると、次のエラーが発生します。

System.Web.HttpRequestValidationException: A potentially dangerous Request.Form value was detected from the client (TextBoeSbTkDescription="<p>
<strong>Exampl...").

テキストボックスの値は、ページの読み込み時にエスケープされたHTMLからエスケープされていないHTMLに変換されます。コントローラアクションにブレークポイントを設定しましたが、IEで上記のエラーが発生する前にブレークポイントが実行されません。これを修正する方法はありますか?

4

1 に答える 1

0

OK ...答えは見つかりましたが、なぜそれが機能するのかわかりません。ドロップダウンリストのonchangeイベントで実行されるjavaScriptがビューにあります。

function DDWkProdsOnChange(thisObj, selectedIndex) 
{
    document.getElementById('WkProdSeldTxt').value=thisObj.options[selectedIndex].text; 
    document.getElementById('pgSender').value='WkProdDD'; 
    thisObj.form.submit();
}

jQueryを使用するようにフォーム送信を変更しました。

function DDWkProdsOnChange(thisObj, selectedIndex) 
{
    document.getElementById('WkProdSeldTxt').value=thisObj.options[selectedIndex].text; 
    document.getElementById('pgSender').value='WkProdDD'; 
   $('form').submit();
}

これで問題が修正されました。理由を知りたいです。答えが見つからないか確認します

于 2012-07-17T16:21:56.093 に答える