可以将HTML属性添加到title
标记中,如下所示:
@Html.TextBoxFor(model => model.Name, new { title = "Customer name" })
有没有类似的静态文本助手?使用@Html.DisplayFor(model => model.Name)
,我可以从模型属性中呈现文本。如何添加超文本标记语言属性,以便获得如下所示的span
标记:
<span title="Customer name">ABC</span>
发布于 2011-05-14 20:08:24
自定义html helper可能是最好的解决方案。
public static MvcHtmlString SpanFor<TModel, TProperty>(this HtmlHelper<TModel> helper, Expression<Func<TModel, TProperty>> expression, object htmlAttributes = null)
{
var valueGetter = expression.Compile();
var value = valueGetter(helper.ViewData.Model);
var span = new TagBuilder("span");
span.MergeAttributes(new RouteValueDictionary(htmlAttributes));
if (value != null)
{
span.SetInnerText(value.ToString());
}
return MvcHtmlString.Create(span.ToString());
}
=>
@Html.SpanFor(model => model.Name, new { title = "Customer name" })
发布于 2011-05-14 19:49:43
<span title="Customer name">@Model.Name</span>
发布于 2017-02-24 18:30:14
如果您使用@HTML.DisplayFor(model=>model.CustomerName),它将呈现为文本,它不会在值中显示任何标记。
如果你想使用span绑定"DisplayFor“,使用下面的标签,
<span id="CustomerName">@Html.DisplayFor(model=>model.CustomerName)</span>
https://stackoverflow.com/questions/6001411
复制相似问题