我的问题是,当使用Membership.GetUser(用户名)方法时,我无法访问用户的电子邮件。 当我重置密码时我需要它。我在POST请求中收到用户名。 我的代码如下所示:
...
System.Web.Security.MembershipUser user = System.Web.Security.Membership.GetUser(model.UserName);
if (user != null)
{
string emailAddress = user.Email;
...
我确信我尝试重置密码的用户将电子邮件存储在数据库中,但是当我想要检索它时,user.Email为空。
有人可以帮我解决这个问题吗?提前谢谢。
答案 0 :(得分:0)
您使用的方法是传统的ASP.NET成员资格,而不是SimpleMembership。以下是从SimpleMembership获取该信息的方法。
var user = context.UserProfiles.SingleOrDefault(u => u.UserName == username);
var email = user.Email;
你可以read more about accessing and customizing UserProfile here。
还有article on setting up password reset for SimpleMembership here和source code is available here。