2011-07-08 62 views
1

我一直在尋找過去兩天的解決方案。我正在使用asp.net,表單中的某些文本會保存到數據庫中。當從數據庫中拉回文本時,我想將其顯示在div或標籤中,或者其他任何無關緊要的內容,但是我想要識別已保存的換行符和文本將其包裝在角落中。我認爲自己做過單詞包裝時已經擁有了它:break-word;和空格:pre;但後來我意識到,單詞分爲兩行,一行一行。另一個詞包裝問題

我知道這可以用javascript來解決。有沒有什麼辦法可以做到這一點,而不必使用JavaScript或jQuery?任何幫助將不勝感激!

回答

2

你可以寫一個幫手是:

public static class HtmlExtensions 
{ 
    public static IHtmlString FormatText(this HtmlHelper html, string text) 
    { 
     if (string.IsNullOrEmpty(text)) 
     { 
      return MvcHtmlString.Empty; 
     } 

     // you could use any line break you might have in your text to split 
     var lines = text.Split(new[] { Environment.NewLine }, StringSplitOptions.None); 
     return MvcHtmlString.Create(
      string.Join("<br/>", lines.Select(line => html.Encode(line))) 
     ); 
    } 
} 

然後:

<div> 
    @Html.FormatText(Model.SomeText) 
</div> 
+0

謝謝主席先生,你已經讓我很快樂! :) –