0

私はNHibernate、Castle Windsor、およびMVC3プロジェクトに取り組んでいます。現在ログインしているユーザーのメール アドレスをビューに渡す必要があります。カスタム メンバーシップ プロバイダーは、namespace.CustomProviders.WebWindsorMembershipProvider にあります。電子メール アドレスを Razor ビューに渡すにはどうすればよいですか?

カスタム メンバーシップ プロバイダーは、usr.Email を次の一部として定義します。

private MembershipUser GetMembershipUserFromUser(User usr)
    {
        MembershipUser u = new MembershipUser("WebWindsorMembershipProvider",
                                              usr.Username,
                                              usr.Id,
                                              usr.Email,
                                              usr.SecretQuestion,
                                              usr.SecretAnswer,
                                              usr.IsApproved,
                                              usr.IsLockedOut,
                                              (usr.CreationDate.HasValue) ? usr.CreationDate.Value : DateTime.Now,
                                              (usr.LastLoginDate.HasValue)
                                                  ? usr.LastLoginDate.Value
                                                  : Utils.MinDate(),
                                              (usr.LastActivityDate.HasValue)
                                                  ? usr.LastActivityDate.Value
                                                  : Utils.MinDate(),
                                              (usr.LastPasswordChangedDate.HasValue)
                                                  ? usr.LastPasswordChangedDate.Value
                                                  : Utils.MinDate(),
                                              (usr.LastLockedOutDate.HasValue)
                                                  ? usr.LastLockedOutDate.Value
                                                  : Utils.MinDate()); 

        return u;
    }

カスタム プロバイダーから usr.Email 値を渡して AccountInfo ビューの H2 タグに埋め込むにはどうすればよいですか?

4

1 に答える 1

2

メンバーシップ システムをどのように実装したかはわかりませんが、標準のメンバーシップ インターフェイスを使用すると仮定すると、次のようにするだけです。

return View(Membership.GetUser().Email)

ビューモデルを使用している場合は、同じことを行うだけですが、それをビューモデルに追加して、ビューモデルをビューに渡します。

これが難しいと感じる理由がわかりません。

于 2012-10-14T23:49:20.077 に答える