2012年4月18日水曜日

DisplayNameを表示するHtmlHelperの拡張メソッド

たぶん誰もが思いつくであろう、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>
view raw UseCase.aspx hosted with ❤ by GitHub

0 件のコメント:

コメントを投稿

Factorio: Space Exploration クリア記録

 工場建設クラフトゲーム、Factorio の MOD である Space Exploration のクリア記録です。 はじめに プレイ時間は約 350 時間、2023年10月から2025年2月にかけて15ヶ月間に及びました。この期間中3人の友人と毎週末、工場勤務に明け暮れました...