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

asp.net-mvc – 是否可以在Index视图中使用LabelFor作为标题行

发布时间:2020-12-16 03:43:53 所属栏目:asp.Net 来源:网络整理
导读:我试图在ASP.NET MVC索引视图中利用DataAnnotation值.有趣的是,代码生成器使用字段名称(例如,BlogPost)而不是 Html.LabelFor(m = Model.ColumNames [“BlogPost”])或类似的东西(我编写了它). 这是否意味着,如果Model是IEnumerable(如在Index视图中),那么就
我试图在ASP.NET MVC索引视图中利用DataAnnotation值.有趣的是,代码生成器使用字段名称(例如,BlogPost)而不是 Html.LabelFor(m => Model.ColumNames [“BlogPost”])或类似的东西(我编写了它).

这是否意味着,如果Model是IEnumerable(如在Index视图中),那么就不可能获得DataAnnotation指定的Display Name?难以置信…

我的代码目前是MVC 2和MVC 3的混合,如果它有任何区别.

解决方法

至少,你应该能够通过使用局部视图(ascx for WebForms)或显示/编辑器模板来获得你想要的东西.在索引页面中,您可以循环遍历可枚举项,并将项目传递到局部视图或模板中.

可能有一种方法可以做到这一点,而没有像我建议的那样(我会有兴趣看到答案),但我建议应该工作正常.

编辑:

经过一些澄清,这是我更新的答案.

您仍然可以获取属性的标签,同时仍然尊重数据注释中的DisplayAttribute.我试过这个很快,似乎工作得很好.

在我看来,我有以下几点:

Html.LabelFor(m => m.BlogPosts.First().BlogPostTitle)

即使枚举本身没有项目,这也有效.当我第一次测试这个时,我获得了属性名称,然后我添加了使用DisplayAttribute修饰属性,并显示了name属性的值而不是标准属性名称.

(编辑:李大同)

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

    推荐文章
      热点阅读