【发布时间】:2010-09-21 15:10:38
【问题描述】:
我可以得到用户名:User.Identity.Name。由于必须存储用户的电子邮件地址(在注册表中有一个文本框),我如何获取用户的电子邮件地址?
【问题讨论】:
标签: asp.net-mvc
我可以得到用户名:User.Identity.Name。由于必须存储用户的电子邮件地址(在注册表中有一个文本框),我如何获取用户的电子邮件地址?
【问题讨论】:
标签: asp.net-mvc
if(User.Identity.IsAuthenticated)
{
someLabel.Text = Membership.GetUser().Email;
}
Membership.GetUser() 函数产生了许多有用的用户属性。它返回一个MembershipUser 类型的对象。
【讨论】:
protected string GetEmailAddress()
{
MembershipUser currUser = null;
if (HttpContext.Current.User != null)
{
currUser = Membership.GetUser(true);
return currUser.Email;
}
return currUser.Email;
}
【讨论】:
在 MVC5 上,您可以使用 UserManager,如下所示:
string UserEmail = await UserManager.GetEmailAsync(User.Identity.GetUserId());
【讨论】:
UserManager 已经实例化的人来说,这段代码很方便:HttpContext.GetOwinContext().GetUserManager<YourNamespace.ApplicationUserManager>()
或者如果信息来自页面外部,您可以这样做。
string userName = Request.QueryString["username"];
TextBoxUserID.Text = Membership.GetUser(userName).Email;
【讨论】: