Asp.net-Mvc

在 ASP.NET MVC 的預設成員資格提供程序中保存電子郵件更改

  • June 8, 2020

我正在嘗試在 ASP.NET MVC 3 的成員資格提供程序中設置和保存電子郵件更改。我不知道如何正確設置和更改成員資格提供程序中的電子郵件屬性。

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. . .

編輯:

我想到了:

// change email
MembershipUser u = Membership.GetUser(User.Identity.Name);
u.Email = email;
System.Web.Security.Membership.UpdateUser(u);

嘗試更新使用者:

var user = Membership.GetUser(id);
user.Email = "new@email.com";
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)

引用自:https://stackoverflow.com/questions/10245017