2013-03-02 108 views
0

以下控制器的輸出在IE9中呈現無換行符 如何強制瀏覽器在創建的單獨行中呈現文本?如何強制文本內容在瀏覽器中以多行顯示

ASP.NET /單聲道MVC2使用.NET 3.5中

public ActionResult Index() 
    { 
     var sb = new StringBuilder(); 
     sb.AppendLine("Line1"); 
     sb.AppendLine("Line2"); 
     return new ContentResult() { Content = sb.ToString() }; 
    } 

回答

2

這取決於你想做什麼。瀏覽器忽略簡單的新行,因爲C#它是\r\n。使用<br />(新行的HTML標籤),或者嘗試<pre>標籤:

<pre> 
    Line 1 
    Line 2 
</pre> 

演示:http://jsfiddle.net/CQeTX/

+0

謝謝。有些行很長,IE9只顯示它們的開始。如何強制行換行到下一行,以便它們在預先放置在div瀏覽器窗口中的位置完全可見? – Andrus 2013-03-02 17:53:37

+0

@Andrus試試這個解決方案:http://stackoverflow.com/questions/248011/how-do-i-wrap-text-in-a-pre-tag – webdeveloper 2013-03-02 21:26:27

1

當您使用AppendLineStringBuilder追加換行符。如果你想顯示換行符在瀏覽器中,你必須添加<br/>

sb.AppendLine("Line1<br/>"); 
sb.AppendLine("Line2<br/>"); 

sb.Append("Line1<br/>"); 
sb.Append("Line2<br/>"); 
0

如果是頁面上的HTML的一部分

sb.AppendLine("Line1<br />"); 

或如果是代碼

sb.AppendLine("Line1\n"); 
相關問題