[英]Word Wrap on Displayfor in MVC
我有一个描述字段,可以带回大量文本。 当它写入页面时,它会作为一个大行出现。 我试过将它包装在下面的两个 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);
}
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.