我在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方法
答案 0 :(得分:0)
LabelFor()
是一种扩展方法(静态),因此无法覆盖。您必须创建自己的Html Helper Extension方法才能实现所需。将自定义标签htmlhelper重命名为LabelForCustom
(或您使用的任何名称),并使用此新扩展方法替换所有@Html.LabelFor(...)
。
答案 1 :(得分:0)
为此目的使用DisplayAttribute
或DisplayNameAttribute
。 See this link about DisplayAttribute Class