0

ログの各項目にログを記録したユーザーが付随する、一種のログ システムを設計しています。userクラスは、Data Annotations表示名を変更するために使用します。User.Nameビューの 1 つに表示するとき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

これは、モデル (表示名) にビュー データが添付されている場合の問題です。ビューによって異なるラベルが必要になる場合があります。

あなたの場合、答えはノーです。ラベルを手動で変更する必要があります。

または、ビュー用に特定の viewModel を作成する必要があります。

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 に答える