我有一个Entity类,其中包含一个虚拟列表,它是指向另一个类的链接:
public virtual Employee Employee1 { get; set; }
因此,在编辑页面中,当我需要时,我的项目标签为Employee1"我的员工"所以在我的DataAnnotation类中我添加
[DisplayName("My Employee")]
public virtual Employee Employee1 { get; set; }
但它尚未奏效。 DataAnnotation类中的其他项目运行良好。
答案 0 :(得分:4)
因为visual studio在自动创建视图时没有工作,因为外键使用Labelfor代替DisplaynameFor,如下所示:
@Html.LabelFor(model => model.Employee1.LastName, "Employee1")
因此,请从第二个参数而不是DataAnnotation读取该值,因此我们需要将其更改为:
@Html.LabelFor(model => model.Employee1.LastName, "My Employee")
答案 1 :(得分:0)
您需要在原始类属性中提供DataAnnotation。如果将DataAnnotation提供给虚拟属性,则它不起作用。我测试过了。但是如果您将DataAnnotation赋予原始类中的属性。它有效。
如:
public partial class Languages
{
DataAnnotation here
public string Code { get; set; }
public string Name { get; set; }
}
public partial class Categories
{
public string Code { get; set; }
public string FKLanguageCode { get; set; }
public string Name { get; set; }
public Nullable<int> Order { get; set; }
DataAnnotation Not Here
public virtual Languages Languages { get; set; }
}