It's possible to add a HTML title
attribute to an input tag like so:
@Html.TextBoxFor(model => model.Name, new { title = "Customer name" })
Is there a similar helper for static text? With @Html.DisplayFor(model => model.Name)
I can render the text from a model property. How can I add HTML attributes so that I get a span
tag rendered like this:
<span title="Customer name">ABC</span>
Custom html helper is probably the neatest solution.
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" })
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With