另一个Word Wrapping问题

时间:2011-07-08 16:27:16

标签: asp.net asp.net-mvc word-wrap

我过去两天一直在寻找解决方案。我正在使用asp.net,表单中的某些文本会保存到数据库中。当从数据库中拉回文本时,我希望将它显示在div或标签中或者它无关紧要的任何内容,但我想要识别保存的换行符并将文本包装在角落里。当我做自己的文字包装时,我以为我拥有它:破解词;和白色空间:前;但后来我意识到,从一行到下一行,单词分成两部分。

我知道这可以用javascript解决。有没有办法,我可以做到这一点,而不必使用javascript或jquery?任何帮助将不胜感激!

1 个答案:

答案 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>