【问题标题】: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>
    

    【讨论】:

    • 谢谢您,先生,您让我很开心! :)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多