我正在做一个NHibernate,Castle Windsor和MVC3项目。 我需要传递当前登录用户的电子邮件地址的视图。 自定义成员资格提供程序位于命名空间中。CustomProviders.WebWindsorMemberProvider. 如何将电子邮件地址传递到我的 Razor 视图?
我们的自定义成员资格提供程序定义了 usr。电子邮件作为其中的一部分:
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。来自自定义提供程序的电子邮件值以嵌入到我的帐户信息视图中的 H2 标记中?
我不知道你是如何实现你的会员系统的,但假设它使用标准的会员接口,那么你就这样做:
return View(Membership.GetUser().Email)
如果您使用的是视图模型,则只需执行相同的操作,但将其添加到视图模型并将视图模型传递给视图。
不知道为什么你觉得这很困难。