4

我正在使用標準的HTMLEditorExtender控件(ajax控件工具包的一部分)。在原始頁面中,我使用html填充它(包括>,>,> <和> img <標籤。它在HTMLEditorExtender控件中顯示正常 然後,當我做一個異步回發(通過updatepanel)中,所有的> IMG <標籤顯示爲實際的HTML而不是顯示圖像的所有其他標籤仍然正確顯示HTMLEditorExtender在異步回發上編碼img標記

的HTMLEditorExtender控制的標記是異步回發後,如下所示:。 在看不見的文本區域用於保留html的編碼值,所有正確顯示的標籤都被正常編碼(即<和>),但是img標籤在編碼值之前省略了&符號(即lt; an d)

更新:它工作正常,如果我把這段代碼放在我的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 2012-05-03 22:33:55