たぶん誰もが思いつくであろう、DisplayName属性の値を表示するHtmlHelperの拡張メソッドです。
どうして標準でないんだろう。あれ、知らないだけなのか...?
public static class HtmlHelperExtensions | |
{ | |
public static MvcHtmlString DisplayNameFor<TModel, TProperty>(this HtmlHelper<TModel> html, Expression<Func<TModel, TProperty>> expression) | |
{ | |
var metadata = ModelMetadata.FromLambdaExpression(expression, html.ViewData); | |
var value = | |
metadata.DisplayName ?? ( | |
metadata.PropertyName ?? | |
ExpressionHelper.GetExpressionText(expression) | |
); | |
return MvcHtmlString.Create(value); | |
} | |
} |
<div class="display-label"> | |
<%= Html.DisplayNameFor(m => m.Hoge) %> | |
</div> | |
<div class="display-field"> | |
<%= Html.DisplayFor(m => m.Hoge) %> | |
</div> |