在ASP.NET MVC中的默认会员提供程序中保存电子邮件的更改。

问题描述 投票:9回答:2

我正试图在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);
asp.net-mvc asp.net-mvc-3 asp.net-membership membership-provider
2个回答
17
投票

试试UpdateUser。

var user = Membership.GetUser(id);
user.Email = "[email protected]";
Membership.UpdateUser(user);

0
投票

我想强调一点,继@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)
© www.soinside.com 2019 - 2024. All rights reserved.