如何在ASP.NET MVC中显示外键字段的显示名称

Ran*_*ont 4 asp.net-mvc foreign-key-relationship data-annotations displayname-attribute

我见过很多类似的问题,但似乎都没有直接的答案.当我尝试将显示(名称)属性添加到外键字段时,显示名称不会显示在创建,编辑,删除和详细信息表单上.我尝试将属性也放在导航属性上:

[Display(Name="Gender")]
public virtual Gender Gender {get; set;}
Run Code Online (Sandbox Code Playgroud)

但那也不起作用.

public class Person
{
    public int ID {get; set;}
    public string FirstName {get; set;}
    public string LastName {get; set;}
    [Display(Name="Gender")]
    public int GenderID {get; set;}

    public virtual Gender Gender {get; set;}
}


public class Gender
{
    public int ID {get; set;}
    public string GenderName {get; set;}

    public virtual ICollection<Person> People {get; set;}       
}
Run Code Online (Sandbox Code Playgroud)

adi*_*tya 7

解决方案很简单.在模型中添加display属性后,从视图中删除标签名称.

所以改变

            @Html.LabelFor(model => model.GenderID, "GenderID", htmlAttributes: new { @class = "control-label col-md-2" })
Run Code Online (Sandbox Code Playgroud)

            @Html.LabelFor(model => model.GenderID, htmlAttributes: new { @class = "control-label col-md-2" })
Run Code Online (Sandbox Code Playgroud)

在你看来.支架视图时会发生此问题.