0
我希望能夠以編程方式覆蓋屬性的顯示名稱。覆蓋視圖模型屬性名稱
我有一個視圖模型,其中顯示名稱已定義。
[Display(Name = "Reference")]
public string Reference { get; set; }
我爲帶有字符串重寫參數的LabelFor()擴展創建了一個重載。
public static MvcHtmlString LabelFor<TModel, TValue>(this HtmlHelper<TModel> htmlHelper, Expression<Func<TModel, TValue>> expression, string applicationVariableOverride)
{
if (applicationVariableOverride != null)
return new MvcHtmlString(applicationVariableOverride);
else
return System.Web.Mvc.Html.LabelExtensions.LabelFor<TModel, TValue>(htmlHelper, expression);
}
...調用它是這樣的:
@Html.LabelFor(x => x.Reference, "New Reference Display Name")
這個偉大的工程的標籤,但不適用於作爲文本被設置使用這些屬性驗證消息的工作是動態的,根據什麼樣的信息正在顯示。相反,我想傳遞(或設置)此功能中的屬性的顯示名稱。
public static MvcHtmlString ValidationMessageFor<TModel, TProperty>(this HtmlHelper<TModel> htmlHelper, Expression<Func<TModel, TProperty>> expression, string applicationVariableOverride)
{
// set display name
return System.Web.Mvc.Html.ValidationExtensions.ValidationMessageFor<TModel, TProperty>(htmlHelper, expression);
}
難道我直接訪問屬性,並嘗試和它的屬性(顯示名稱)的訪問的一個或有另一種更簡單的方法來做到這一點?
謝謝
感謝您的回覆。我想重寫該屬性,因爲這將是設置顯示名稱的邏輯/正確位置,但它不會讓我傳遞任何不是常量的東西...... – Beakie