MVC 3.0新手 - 如何设置显示名称?

时间:2011-08-07 22:30:53

标签: entity-framework asp.net-mvc-3

考虑用于数据库映射的这个类。

[Bind()]
public class ActiveType
{

    [Key()]
    public int ID { get; set; }

    [Display(Name = "Navn")]
    public string Name
    {
        get;
        set;
    }

    public string Prefix { get; set; }
    public string Suffix { get; set; }

}

正如您所看到的,我尝试使用Display注释使MVC在自动生成实体框架CRUD页面时使用该名称。但是,它忽略了它。我该如何改变?是否可以通过注释?

2 个答案:

答案 0 :(得分:1)

如果您要创建域类,则会删除已添加的属性。 看起来您正在实体框架层中使用域对象作为MVC层中的模型。这不是一个好习惯。您需要为MVC层创建单独的视图模型(http://blogs.msdn.com/b/simonince/archive/2010/01/26/view-models-in-asp-net-mvc.aspx)。因为您需要将表示逻辑与数据层分开。 您可以使用AutoMapper之类的东西将域对象映射到视图模型。 http://sourceforge.net/projects/automapper-dn/

答案 1 :(得分:0)

我提供的示例实际上有效,但不适用于自动生成的EF页面,在某些情况下会忽略它。