0

我有一个带回大量文本的描述字段。当它写入页面时,它会变成一条大线。我尝试将其包装在以下两个 div 中

         <td>
            <div style="word-wrap:break-word;">
                @Html.DisplayFor(modelItem => item.Description)
            </div>
        </td>

         <td>
            <div style="overflow:auto;">
                @Html.DisplayFor(modelItem => item.Description)
            </div>
        </td>

奇怪的是,当屏幕第一次加载然后又回到一行时,它们似乎都工作了一秒钟。

我在网上看过,我发现上面的答案应该可以工作。

有人知道我错过了什么吗?

任何帮助将不胜感激。

4

1 回答 1

-1

评论中的链接有所帮助,但最后我不得不对数据进行计数,以每一百个字符添加 br。然后,如果在第 15 个循环之前没有空格,它将以任何方式添加一个。

 public static MvcHtmlString Display100<TModel, TValue>(this HtmlHelper<TModel> html, Expression<Func<TModel, TValue>> expression)
    {
        var metadata = ModelMetadata.FromLambdaExpression(expression, html.ViewData);
        var model = html.Encode(metadata.Model);
                                                  
        if (String.IsNullOrEmpty(model))
        return MvcHtmlString.Empty;

        if (model.Length > 100)             
        for (int i = 100; i <= model.Length; i++)
        {
                if (model.Length - i > 0)
                {         
                    
                    if (Char.ToString(model[i]) == " ")
                    {
                        model = model.Insert(i, "<br />");
                        i += 100;
                        i = i.Round(100);
                    }
                    if(((double)i/100) % 1 > 0.15)
                    {
                        model = model.Insert(i, "<br />");
                        i += 100;
                        i = i.Round(100);
                    }
                }
        }
于 2020-10-10T09:51:15.027 回答