如何在LabelFor方法中指定Id

时间:2014-02-26 07:59:47

标签: asp.net-mvc html-helper

我在Mvc中有LabelFor

@Html.LabelFor(model => model.EmployeeName)

创建自定义LableFor以提供标题等等。我创建了自己喜欢的

public static MvcHtmlString LabelFor<TModel, TValue>(this HtmlHelper<TModel> html, Expression<Func<TModel, TValue>> expression, string Title = null)

给我打电话的标题

@Html.LabelFor(model => model.EmployeeAdress,"This is Employee ADress")

现在正确且工作正常

现在在500到600个地方我已经这样做了

@Html.LabelFor(model => model.EmployeeName)

我不想在这里硬编码标题,如

@Html.LabelFor(model => model.EmployeeName,"EmployeeName")

每当发现这个

时我都想要
@Html.LabelFor(model => model.EmployeeName)

然后我的自定义方法应该调用ie public static MvcHtmlString LabelFor(这个HtmlHelper html,Expression&gt;表达式,字符串Title = null)

这样我就不需要改变整个应用程序,而是调用默认的Mvc方法

2 个答案:

答案 0 :(得分:0)

LabelFor()是一种扩展方法(静态),因此无法覆盖。您必须创建自己的Html Helper Extension方法才能实现所需。将自定义标签htmlhelper重命名为LabelForCustom(或您使用的任何名称),并使用此新扩展方法替换所有@Html.LabelFor(...)

答案 1 :(得分:0)

为此目的使用DisplayAttributeDisplayNameAttributeSee this link about DisplayAttribute Class