MVC中Displayfor的自动换行



我有一个Description字段,它会带回大量文本。当它写入页面时,它显示为一条大行。我试着把它包装在下面的两个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>

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

我在网上看了看,我找到的答案都说以上应该有效。

有人知道我遗漏了什么吗?

如有任何帮助,我们将不胜感激。

注释中的链接有所帮助,但最终我不得不对数据进行计数,以每一百个字符添加一个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);
}
}
}

相关内容

  • 没有找到相关文章

最新更新