2011-02-15 62 views
1

爲什麼.Replace(Environment.NewLine, "<br />")給出這樣的結果:.Replace(Environment.NewLine, 「<br />」)

asdasd<br />waahahahaha<br />asdadsa<br />multiline<br /><br /><br />asdad 
+6

可能是因爲你在這些地方有一個新的行字符。 – 2011-02-15 10:53:13

+0

我想要的是爲
消失,並獲得下一行 – paul 2011-02-15 11:30:34

回答

4

大概是因爲有 「多」 和 「asdad」 之間的一個以上的新線。

var someText = string.Format("First line{0}Second line{0}Multiple line breaks{0}{0}{0}some text", Environment.NewLine); 

var html = someText.Replace(Environment.NewLine, "<br />"); 

HTML現在這個樣子:

First line<br />Second line<br/>Multiple line breaks<br /><br /><br />some text 

編輯

在你的情況你的網頁將顯示在Web瀏覽器的<br />而不是創建一個新行,因爲它編碼了html輸出。

什麼,你需要做的是利用HtmlString,試試這個:

<div class="display-field"> 
    <%: new HtmlString(Model.Body.Replace(Environment.NewLine, "<br />")) %> 
</div> 

而且在這裏看到這個線程在計算器上談論"ASP.NET MVC Razor - output HTML string non escaped"