Pro*_*ofK 4 asp.net-mvc asp.net-mvc-4
我看到DisplayAttribute有一个ShortName属性,但我看不到Html.ShortName帮手.如何在表格列标题中使用此短名称?我必须写自己的帮手吗?
你可以写自己的帮手:
就像是
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);
}
Run Code Online (Sandbox Code Playgroud)
但是,从msdn:
短显示名称可以在工具提示或其他显示上下文中使用,例如表格列表视图的标题,其中完整的显示名称可能不适合.例如,在MVC中,此名称用于表格,其中列的宽度不足以显示完整的字段名称.如果此字段为null,则应使用DisplayName.
所以它看起来应该是自动的(当没有足够的空间时),但......在这里未经测试.听起来它应该以这种方式与@ Html.LabelFor一起使用.