Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/31.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
ASP.NET MVC3代码第一个脚手架|列表视图不';t尊重[Display(Name=";…)]属性_Asp.net_Asp.net Mvc 3_Ef Code First_Scaffolding - Fatal编程技术网

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 #>)