2012-12-13 91 views
0

我在asp.net中的文字控件中顯示html實體時出現問題。文字控制顯示字符編碼

在將我的內容傳遞給字面控件之前,我對字符進行了編碼,例如££但是當它顯示在頁面中時,它顯示£而不是£。我檢查了源代碼,它沒有編碼html實體,例如&amppound;,但顯示爲純文本。

我已經嘗試在後端刪除htmlencode並在字面控制上添加mode="encode",但我得到了相同的結果。

有誰知道爲什麼會發生這種情況?

我知道我可以使用標籤控件,但肯定會有更好的方法嗎?我不喜歡HTML格式的文字控制給出。

+0

的文字是不能改變什麼 - 你有一些其他錯誤代碼。 – Aristos

回答

1

給定文字,LT,你不應該的HTMLEncode,並設置

lt.Mode = LiteralMode.PassThrough; 
lt.Text = "&pound"; 

<asp:Literal runat="server" ID="lt" Mode="PassThrough">&pound;</asp:Literal> 

希望這將有助於

+0

這不起作用。我做了一個響應寫,它顯示字符£和&沒有編碼。這是什麼期待。這是爲了測試字符是否已經編碼,所以我不是雙重編碼。我將模式設置爲通過後端htmlencode進行傳遞而沒有。無論我通過什麼,都會被視爲純文本。 –

+0

@JamesAndrewSmith如果你只是在你的標記中複製粘貼上面的asp:literal標記,包含£會發生什麼? – jbl

+0

字符被編碼爲respresented的值。所以£將是£,但通過文字它顯示爲£。 –