9

Tôi đang cố gắng đặt và lưu thay đổi email bằng cách sử dụng Nhà cung cấp thành viên trong ASP.NET MVC 3. Tôi không biết cách đặt và thay đổi đúng cách tài sản email trong Nhà cung cấp thành viên.Lưu thay đổi email trong Nhà cung cấp thành viên mặc định trong ASP.NET MVC

MSDN có vẻ đề nghị Thuộc tính MembershipUser.Email như nó, "Gets hoặc đặt địa chỉ e-mail cho người dùng thành viên", nhưng tôi không biết làm thế nào để có được điều này hoạt động đúng.

Tôi đang cố gắng sử dụng mã này:

// 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:

I figured it out:

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

I figured it out : // thay đổi email Thành viên hipUser u = Membership.GetUser (User.Identity.Name); u.Email = email; System.Web.Security.Membership.UpdateUser (u); - Tôi có quá ít danh tiếng để trả lời câu hỏi của riêng mình trong vòng 8 giờ. – Ecnalyr

Trả lời

16

Hãy thử UpdateUser:

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

Cảm ơn bạn. System.Web.Security.Membership.UpdateUser (u); – Ecnalyr

+1

không cập nhật cũng không ném ngoại lệ cho tôi – Lakshay

+0

Tôi cũng đang gặp vấn đề tương tự như @Lakshay. Điều này KHÔNG cập nhật thông tin thành viên của người dùng của tôi. –