我正试图在ASP.NET MVC 3中的Membership Provider中设置和保存电子邮件更改。 我不知道如何在Membership Provider中正确设置和更改电子邮件属性。
MSDN似乎建议使用MembershipUser.Email属性,因为它 "获取或设置会员用户的电子邮件地址",但我不知道如何让这个属性正常工作。
我正在尝试使用这段代码。
// change email
MembershipUser u = Membership.GetUser(User.Identity.Name);
u.Email = email; // Is this working as expected?
u.Save(); // this line doesn't do anything - what should it be?
db.Save(); <-- that is what I would do with ordinary database changes, but I don't know what context to use for Membership Provider changes. . .
EDIT:
我想明白了
// change email
MembershipUser u = Membership.GetUser(User.Identity.Name);
u.Email = email;
System.Web.Security.Membership.UpdateUser(u);
试试UpdateUser。
var user = Membership.GetUser(id);
user.Email = "[email protected]";
Membership.UpdateUser(user);
我想强调一点,继@Ecnalyr和@jwaern之后。在更改电子邮件地址时,直接按照下面的方法分配电子邮件地址并不成功。
System.Web.Security.Membership.GetUser.email = newEmail '(this won't work)
首先,如上面的回复所示,必须将MembershipUser分配给一个变量,然后才对该变量进行UpdateUser影响。
Dim mu As MembershipUser = System.Web.Security.Membership.GetUser
mu.Email = email
Membership.UpdateUser(mu)