我正在设计一种日志记录系统,其中日志中的每个项目都由记录它的用户提供。 user
类使用Data Annotations
来修改其显示名称。在我的User.Name
个视图中显示log
时,我希望显示不同的显示名称。
类
public class User
{
public int UserID {set;get;}
[DisplayName("User Name")]
public string Name{set;get;}
}
public class Log
{
public int LogID {set;get;}
public int UserID {set;get;}
public virtual User User{set;get;}
}
如果我在视图中使用以下代码,则显示的文本为“用户名”。有没有办法使用DisplayName
制作Data Annotations
“受让人”,还是我需要手动执行此操作?
@Html.DisplayNameFor(model => model.User.Name)
答案 0 :(得分:0)
当您将视图数据附加到模型时(显示名称),这就是问题:有时您需要根据视图使用不同的标签。
在您的情况下答案是否定的,您需要手动更改标签。
或者,您需要为视图创建特定的viewModel:
public class LogViewModel
{
public int LogID {set;get;}
public int UserID {set;get;}
[Display(Name = "Assignee")]
public string UserName {set;get;}
}