ASP.NET MVC3代码第一个脚手架|列表视图不';t尊重[Display(Name=";…)]属性
我尝试用ASP.NET MVC3代码第一个脚手架|列表视图不';t尊重[Display(Name=";…)]属性,asp.net,asp.net-mvc-3,ef-code-first,scaffolding,Asp.net,Asp.net Mvc 3,Ef Code First,Scaffolding,我尝试用[Display(Name=“First Name”)]装饰POCO类,如下所示 public int Id { get; set; } [Display(Name = "First Name")] public string FirstName { get; set; } [Display(Name = "Last Name")] public string LastName { get; set; } 还可以使用[DisplayName(
[Display(Name=“First Name”)]
装饰POCO类,如下所示
public int Id { get; set; }
[Display(Name = "First Name")]
public string FirstName { get; set; }
[Display(Name = "Last Name")]
public string LastName { get; set; }
还可以使用[DisplayName(“First Name”)]
属性
不管怎样,生成的默认“列表”视图(使用“添加控制器”对话框)始终以属性名(如“FirstName”)作为标题文本生成表,而不尊重属性值。创建视图可以很好地使用[Display(Name=…)]
属性
List.tt
T4模板实际上具有:
<th>
<#= property.AssociationName #>
</th>
要使默认脚手架使用Display
属性,还需要做些什么吗?或者我应该编辑列表.tt
T4模板以使用
以外的内容吗
当然,我可以编辑生成的视图。但我喜欢在模板本身中“修复”这一点,以便生成的所有视图都是正确的,而无需修改
提前感谢您的回答。只有
Html.LabelFor
方法才能使用Display
数据注释属性,因此您的List.tt
只能“打印”每个属性的特定AssociationName
,这就是您实际得到的结果
如果您想让它打印出每个属性的显示
名称,您还必须在那里输出一个LabelFor方法,就像在Create.tt中一样:
@Html.LabelFor(model => model.<#= property.Name #>)
@Html.LabelFor(model=>model.)
或者更好的是,只需将整个内容复制到那里,就可以处理属性为外键的情况 我所说的“列表视图”是指默认的“索引”cshtml视图,这似乎是唯一简单的选择。。。谢谢@fretje
@Html.LabelFor(model => model.<#= property.Name #>)