Membership.IsApproved值未保存

Sac*_*nth 2 c# forms-authentication asp.net-mvc-3

我有这个代码:

MembershipUser user = Membership.GetUser(model.UserName);
if (user != null) 
    user.IsApproved = false; 
Run Code Online (Sandbox Code Playgroud)

user.IsApproved上面的调用确实将IsApproved标志设置为false但是当我随后执行时:

MembershipUser user = Membership.GetUser(model.UserName);
Run Code Online (Sandbox Code Playgroud)

并检查IsApproved标志值是什么true!

怎么了?

Dan*_*lis 15

您需要保存更改,否则您只需将其设置为false以用于当前对象.您可以使用Membership.UpdateUser(http://msdn.microsoft.com/en-us/library/system.web.security.membership.updateuser.aspx).

MembershipUser user = Membership.GetUser(model.UserName);
if (user != null){
    user.IsApproved = false;
    Membership.UpdateUser(user);
}
Run Code Online (Sandbox Code Playgroud)


Mar*_*man 5

在msdn上user.IsApproved = false查看不会更新数据存储.

如果您希望坚持更改,则需要致电 UpdateUser(user)