这可能是应该发生的方式,但我有一个aspx页面,在页面加载事件中,我调用MembershipUser user = Membership.GetUser(),它获取当前登录用户的信息。现在,如果我没有母版页,这可以正常工作,但在这种情况下,页面与母版页相关联。发生的事情是,当首次访问页面时,用户已登录,因此Membership.GetUser()工作正常,但是当用户从asp.net登录控件单击注销链接时,它会调用页面加载aspx页面再次调用Membership.GetUser(),它现在返回null并导致错误。
我是否在不正确的地方呼叫Membership.GetUser?我不知道该怎么办?
我是否只需检查Membership.GetUser()是否返回null?这很简单吗?
答案 0 :(得分:1)
如果匿名用户和经过身份验证的用户都可以看到该页面,则需要检查GetUser是否返回null,或者检查User.Identity.IsAuthenticated。
如果匿名用户看不到该页面,您可以绑定到LoginStatus控件的LoggedOut事件,并将用户重定向到适当的页面。