I see the DisplayAttribute
has a ShortName
property, but I see no Html.ShortName
helper. How can I get to use this short name for my table column headings? Do I have to write my own helper?
質問する
3218 次
2 に答える
10
独自のヘルパーを作成できます:
何かのようなもの
public static IHtmlString ShortLabelFor<TModel, TValue>(this HtmlHelper<TModel> helper, Expression<Func<TModel, TValue>> expression) {
var metadata = ModelMetadata.FromLambdaExpression(expression, helper.ViewData);
var content = metadata.ShortDisplayName?? metadata.DisplayName ?? /*something else*/ ?? string.Empty;
return new HtmlString(content);
}
しかし、msdnから:
短い表示名は、ツールヒントや、完全な表示名が収まらない表形式のリスト ビューのタイトルなどの他の表示コンテキストで使用できます。たとえば、MVC では、この名前は、完全なフィールド名を表示するには列の幅が十分でないテーブルで使用されます。このフィールドが null の場合、DisplayName を使用する必要があります。
したがって、自動である必要があるように見えますが(十分なスペースがない場合)、ここではテストされていません。このように @Html.LabelFor で動作するはずです。
于 2013-01-10T10:39:26.197 に答える