我在 Mvc 中有 LabelFor like
@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)
然后我的自定义方法应该调用即public static MvcHtmlString LabelFor(this HtmlHelper html, Expression> expression, string Title = null)
这样我就不需要更改整个应用程序,而是调用默认的 Mvc 方法
LabelFor()
是一个扩展方法(静态),因此不能被覆盖。您必须创建自己的 Html 帮助程序扩展方法才能实现所需的内容。将自定义标签 htmlhelper 重命名为 LabelForCustom
(或您使用的任何名称),并将所有@Html.LabelFor(...)
替换为此新的扩展方法。
为此使用 DisplayAttribute
或 DisplayNameAttribute
。请参阅有关显示属性类的链接