我有这段代码:
MembershipUser user = Membership.GetUser(model.UserName);
if (user != null)
user.IsApproved = false;
上面对user.IsApproved
的调用确实将IsApproved
标记设置为false
,但是当我随后执行此操作时:
MembershipUser user = Membership.GetUser(model.UserName);
并检查IsApproved
标志,其值为true
!
怎么了?
答案 0 :(得分: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);
}
答案 1 :(得分:5)
查看msdn正在执行user.IsApproved = false
不会更新数据存储。
如果您希望保留更改权限,则需要致电UpdateUser(user)