0

我正在设计一种日志系统,其中日志中的每个项目都伴随着记录它的用户。该类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)
4

1 回答 1

0

当您将视图数据附加到模型(显示名称)时,这就是问题:有时您需要不同的标签,具体取决于视图。

在您的情况下,答案是否定的,您需要手动更改标签。

或者,您将需要为您的视图创建一个特定的视图模型:

public class LogViewModel
{
    public int LogID {set;get;}
    public int UserID {set;get;}

    [Display(Name = "Assignee")]
    public string UserName {set;get;}
}
于 2013-01-24T18:49:42.120 回答