asp.net MVC5 数据库优先数据注释模型显示名称

本文关键字:模型 注释 显示 数据 net MVC5 数据库 asp | 更新日期: 2023-09-27 17:56:24

下面是我的模型定义

[MetadataType(typeof(ProductCategoryAttr))]
[DisplayName("Product Category List")]
public partial class ProductCategory
{
}
[DisplayName("Product Category List")]
public class ProductCategoryAttr
{
    [Key]
    public int Id { get; set; }
    [DisplayName("Product Category Name")]
    public string Name { get; set; }
}

我想展示

Product Category List

在"查看"页面中

@model List<WebApplication4.Models.ProductCategory>
@Html.DisplayNameFor(model => model[0])

但是它没有用...怎么办?

asp.net MVC5 数据库优先数据注释模型显示名称

我找到了答案。让 db-first 类和数据注释类中的命名空间相同。它可以显示我想要的。

你应该用大写M写你的第二model

@Html.DisplayNameFor(model => Model[0])

Model您的ViewModel实例List<ProductCategory>,但model用于 lambda 表达式,它可以是任何东西。 例如,此行也有效

@Html.DisplayNameFor(Foo => Model[0])