Html助手LabelFor没有呈现标题(工具提示)

时间:2014-11-07 10:44:46

标签: html css asp.net-mvc label title

在我看来,我使用了html helper LabelFor。标签文本有时太长,所以我为标签设置了max-width。现在它看起来像这样:

Label for some fi...,而全文为Label for some field

因此,在这种情况下,将显示标签的标题以查看全文。

但标准的html助手不会为html添加标题。

如何使用html助手解决我的问题?


示例我需要没有Html助手:http://jsfiddle.net/fdf5kx5z/4/

1 个答案:

答案 0 :(得分:0)

您可以为此

创建自定义html帮助器
using System;
using System.Collections.Generic;
using System.Linq.Expressions;
using System.Web.Mvc;
using System.Web.Mvc.Html;

namespace YourAssembly.Html
{
  public static class LabelHelpers
  {
    public static MvcHtmlString TooltipLabelFor<TModel, TValue>(this HtmlHelper<TModel> helper, Expression<Func<TModel, TValue>> expression)
    {
      ModelMetadata metaData = ModelMetadata.FromLambdaExpression(expression, helper.ViewData);
      Dictionary<string, object> attributes = new Dictionary<string, object>();
      attributes.Add("title", metaData.GetDisplayName());
      return helper.LabelFor(expression, attributes);
    }
  }
}

并添加对<namespaces>

web.config部分的引用
<add namespace="YourAssembly.Html "/>