Asp.net
使用 ASP.NET MVC 3 Helpers 渲染具有標題屬性的 span 標籤
title可以像這樣向輸入標籤添加 HTML屬性:@Html.TextBoxFor(model => model.Name, new { title = "Customer name" })靜態文本是否有類似的助手?我可以從
@Html.DisplayFor(model => model.Name)模型屬性中渲染文本。如何添加 HTML 屬性,以便獲得span如下呈現的標籤:<span title="Customer name">ABC</span>
自定義 html 助手可能是最巧妙的解決方案。
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" })