2011-10-15 171 views
-1

我做爲什麼不能輸出HTML代碼?

<p> 
    @Server.HtmlEncode(elem.Text.ToString().Replace("[BR]", "<br />")); 
    </p> 

[BR]試圖輸出HTML在我的網頁是我的編碼<br />,因爲我直接慣於/着保存的HTML。然而,問題是,當我使用@ Server.HtmlEncode我得到這個輸出:

one little&lt;br /&gt;&lt;br /&gt;test!; 

沒有編碼看起來也錯了,那麼在明文:(輸出<br />

沒有人有線索如何使編碼/正確輸出?

+2

的HTMLEncode編碼文本到適合於在HTML傳輸。即'<,>'不是有效的xml,所以它們被編碼。我不知道asp.net,但你正在得到你告訴代碼給你的東西。 – Falmarri

+0

*正確*的含義是什麼?提供輸入和預期輸出的示例。 –

回答

5

您是雙重HTML編碼。 @已經執行Html編碼。嘗試:

@elem.Text.ToString().Replace("[BR]", "<br />") 

或:

@(new HtmlString(elem.Text.ToString().Replace("[BR]", "<br />"))) 

或:

@Html.Raw(elem.Text.ToString().Replace("[BR]", "<br />")) 
+0

'生''!呃,從來不知道!謝謝你的提示。 :) –

+0

第一個沒有工作,第二個!謝謝! – Jason94

0

EncodeHtmlEncode意味着它轉換原始的HTML,以它的編碼輸出,即你所看到的。如果你想原始的HTML,那麼你做Response.Write()或者,因爲它看起來像你正在使用剃刀,@Html.Raw()

0

HtmlEncode轉義特殊字符,如<>。使用Html.Raw而不是if。

相關問題