4

標準のHTMLEditorExtenderコントロール(ajaxコントロールツールキットの一部)を使用しています。 次に、(updatepanelを使って)非同期のポストバックを実行すると、私はHTMLページを作成することができます。 、すべて>のimg <タグは、画像を表示するのではなく、実際のhtmlとして表示その他すべてのタグが正常に表示されているHTMLEditorExtenderは、非同期ポストバックにimgタグをエンコードします。

を非同期ポストバックの後に次のようにHTMLEditorExtenderコントロールのマークアップは、次のとおりです。。 を目に見えないテキストエリアでhtmlのエンコードされた値を保持するために使用されると、正しく表示されているすべてのタグが正常にエンコードされます(つまり、<と>)が、imgタグはエンコードされた値d gt;)

更新:私はこのコードを私のpageLoadイベントに入れてもうまく動作しますが、これにはどのようなセキュリティ上の意味がありますか?

if (IsPostBack) 
{ 
    txtBookingConfirmation.Text = Server.HtmlDecode(txtBookingConfirmation.Text); 
} 

誰でも制御を防止する方法を教えていただけますか?

ありがとうございます。

答えて

7

これは唯一の解決策であると思われ、まだ問題は発生していません。

if (IsPostBack) 
{ 
    txtBookingConfirmation.Text = Server.HtmlDecode(txtBookingConfirmation.Text); 
} 
0

私はこの同じ問題を抱えています。 HTMLEditorExtenderは、ページにポストバックするボタンをクリックするたびに、テキストボックスの内容をHTMLマークアップが表示されている場所に変更します。 「&」のすべてを「& amp;」に置き換えているようです。したがって、例えば、「& lt;」のすべてが、テキストの値が「& amp; lt」に変更されています。これは「& gt」でも起こります。私は2012年5月1日にリリースされたAJAXツールキットにアップグレードしました。それがどんなバージョンであるかわからない

「& amp;」にスペースを入れなければなりませんでした。彼らは私のポストにレンダリングされていたので、あなたがこれを見るときには、スペースを外してください。

+2

こんにちは@whofungpoo、参加いただきありがとうございます。ちょっとしたメモ、これは答えではありません。コメントは、あなたが参照する投稿の「コメントを追加」をクリックして投稿する必要があります。質問に役立つ回答のみ投稿してください。つまり、問題なくServer.HtmlDecode()メソッドを使用しています。それがあなたを助けることを願ってください。 – hofnarwillie

関連する問題