2013-05-08 25 views
0

我有一個asp.net頁面。在一個特定的頁面上,我可以添加註釋,當我添加這些註釋時,它們會保存到數據庫中。當我想要新行時,當我在後端代碼中查看它時,會自動顯示「\ n」標記。如何確保我的<br>標籤讀取爲html而不是文本

所以,現在當我收到回覆時,我想回復我的評論,但是我希望他們在顯示「\ n」的那些特定位置打破空格。

Text = text.replace("\n", "<br/>") 

結果我得到:

my test<br/> test text new line<br/> 

<br>標籤得到顯示爲文本

我在後端代碼(CS)嘗試這個。

爲了澄清我basicly婉實現這一點: Why are my "<br />" tags getting converted to "&lt;br /&gt;"?

不過從C#中的後端代碼。

我一直在使用Google,並且一直無法找到答案。

+2

文本是哪個對象的屬性?那個面板或TextBox還是什麼? – 2013-05-08 08:30:14

+0

文本框,喬恩答案訣竅 – ThunD3eR 2013-05-08 08:38:15

回答

1

在打印之前,您需要創建一個HtmlString與您的內容。所以你的代碼就像

var foo = new HtmlString(text.replace("\n", "<br/>")); 

你會打印foo

+0

感謝m8!該死的我的谷歌技能需要提高,這一點很難找到,一旦你知道要搜索什麼。 – ThunD3eR 2013-05-08 08:39:27

5

如果您使用的是ASP.NET WebForms,並且您將文本放在Label控件中,則這是正常行爲。 Label控件在呈現它之前對其文本進行html編碼。

Literal控件不使用html編碼,所以如果將Label改爲Literal,它應該可以工作。

如果您使用ASP.NET MVC,請嘗試使用@Html.Raw(Model.Text)

+0

謝謝!實際上是在考慮用稍後的標籤來做同樣的事情,所以你可能在這裏爲我節省了一些時間。 – ThunD3eR 2013-05-08 08:42:36

相關問題