Asp.net mvc 如何获取外部字段的显示名?

Asp.net mvc 如何获取外部字段的显示名?,asp.net-mvc,data-annotations,Asp.net Mvc,Data Annotations,抱歉,因为不清楚,但我试图通过上一个示例使其简单化,我的实际模型如下所示: public class Contractor { [Key] [DatabaseGeneratedAttribute(DatabaseGeneratedOption.Identity)] [Display(Name = "ID", ResourceType = typeof(Resources.Resources))] public decimal contractor_no { get

抱歉,因为不清楚,但我试图通过上一个示例使其简单化,我的实际模型如下所示:

public class Contractor
{
    [Key]
    [DatabaseGeneratedAttribute(DatabaseGeneratedOption.Identity)]
    [Display(Name = "ID", ResourceType = typeof(Resources.Resources))]
    public decimal contractor_no { get; set; }

    [Display(Name = "Name", ResourceType = typeof(Resources.Resources))]
    public string contractor_name { get; set; }

    [Display(Name = "Contractor Class ID")]
    public string contractor_class_code_id { get; set; }

    [Display(Name = "Contractor Class Line")]
    public short contractor_class_code_line { get; set; }

    [ForeignKey("contractor_class_code_id, contractor_class_code_line")]
    [Display(Name = "Contractor Class")]
    public virtual CodeList CodeList_class { get; set; }

    [Display(Name = "Contractor Status ID")]
    public string contractor_status_code_id { get; set; }

    [Display(Name = "Contractor Status Line")]
    public short contractor_status_code_line { get; set; }

    [ForeignKey("contractor_status_code_id, contractor_status_code_line")]
    public virtual CodeList CodeList_status { get; set; }
}

public class CodeList
{
    [Key]
    [Column(Order = 0)]
    public string code_list_id { get; set; }

    [Key]
    [Column(Order = 1)]
    [Display(Name = "List Line")]
    public short code_list_line { get; set; }

    [Display(Name = "List Value")]
    public string code_value { get; set; }
}
我的问题是: 鉴于此,“承包商类别代码行”和“承包商状态代码行”字段的名称始终相同,即“列表值”或“列表行”没有任何意义


我如何使用承包商模型中的名称“在这种情况下,承包商类别行和承包商状态行”而不是codelise模型中的名称?

我使用的是非常有效的名称:

[DisplayName("Country Class Name")]
您必须包含以下using语句:

using System.ComponentModel;
好的,解决了

它是:

@Html.LabelFor(model => model.contractor_class_code_line, "contractor_class_code_line", htmlAttributes: new { @class = "control-label col-md-2" })
改为:

 @Html.LabelFor(model => model.contractor_class_code_line, htmlAttributes: new { @class = "control-label col-md-2" })

我错误地传递了标签文本。

好吧,您自己已经将显示名称设置为“国家/地区类别名称”。如果你想让它变得更健康,那就用别的东西吧。你想做什么还不清楚。无论如何,为什么国家名称的显示名称应该是城市类名称?顺便说一下,这句话没有任何意义:“
DisplayName
城市类的
country\u name
字段。”
DisplayName
是旧的<代码>显示(名称=应改为使用。很抱歉,因为它不清楚,但我试图通过前面的示例使其简单化,我的实际模型如下: