我过去两天一直在寻找解决方案。我正在使用asp.net,表单中的某些文本会保存到数据库中。当从数据库中拉回文本时,我希望将它显示在div或标签中或者它无关紧要的任何内容,但我想要识别保存的换行符并将文本包装在角落里。当我做自己的文字包装时,我以为我拥有它:破解词;和白色空间:前;但后来我意识到,从一行到下一行,单词分成两部分。
我知道这可以用javascript解决。有没有办法,我可以做到这一点,而不必使用javascript或jquery?任何帮助将不胜感激!
答案 0 :(得分: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>