【问题标题】:Another Word Wrapping question另一个自动换行问题
【发布时间】:2011-07-08 16:27:15
【问题描述】:
过去两天我一直在寻找解决方案。我正在使用 asp.net,表单中的某些文本被保存到数据库中。当从数据库中拉回文本时,我想将其显示在 div 或标签或其他任何无关紧要的东西中,但我想识别已保存的换行符并将文本换行在角落里。当我做 word-wrap:break-word; 时,我以为我有它。和空白:pre;但后来我意识到,从一行到下一行,单词被分成了两部分。
我知道这可以用 javascript 解决。有什么方法可以做到这一点而不必使用 javascript 或 jquery?任何帮助将不胜感激!
【问题讨论】:
标签:
asp.net
asp.net-mvc
word-wrap
【解决方案1】:
你可以为此编写一个助手:
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>