加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net-mvc – 为什么Add View List Scaffolding向导不使用“Di

发布时间:2020-12-16 10:01:05 所属栏目:asp.Net 来源:网络整理
导读:所以我花了很多时间用Required,StringLength,Range,Display等来注释我的域实体. 然后我进入并开始创建具有正确域实体集的强类型视图. 我尝试的第一个视图是我的域实体的List Scaffolded视图,它具有慷慨应用的Display(Name =“foo”)属性.创建视图时,表头仍然
所以我花了很多时间用Required,StringLength,Range,Display等来注释我的域实体.

然后我进入并开始创建具有正确域实体集的强类型视图.

我尝试的第一个视图是我的域实体的List Scaffolded视图,它具有慷慨应用的Display(Name =“foo”)属性.创建视图时,表头仍然使用属性名称,而不是我设置的显示名称.

具有April Tools更新的MVC3是否忽略这些数据注释?

解决方法

假设您使用的是 MvcScaffolding,那么是的,这些脚手架模板会忽略元数据.

但是如果您遵循this article,您可以创建自己的模板.完成后,您可以修改自己的模板.

在模板中查找此部分

<thead>
    <tr>
        <th></th>
<#
List<ModelProperty> properties = GetModelProperties(Model.ViewDataType,true);
foreach (ModelProperty property in properties) {
if (!property.IsPrimaryKey && !property.IsForeignKey && !property.IsEnumerable) {
#>
        <th><#=  property.Name #></th>
<#
}
}
#>
    </tr>
</thead>

更改< th><#= property.Name#>< / th>到< th> @Html.LabelFor(x => x.First().<#= property.Name#>)< / th>它将使用modelmetadata displayname.请谨慎,但这只是为了快速说明如何根据索引视图的模板(具有IEnumerable<>作为模型)来处理此问题.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读