我最近开始使用ASP.NET Forms Authentication和Membership。Membership.GetUser()。ProviderUserKey总是返回空
我在Visual Studio中创建了一个C#项目,它自动创建了诸如“/Account/Login.aspx”之类的页面。
然后,我跟着一个示例将aspnet_*
表安装到我的SQL Server数据库,并且我已经能够使用<asp:CreateUserWizardStep>
控件来创建用户。
话,我已经能够登录作为该用户,并在用户名登录时调用<asp:LoginName>
然而,当我把我的C#代码如下,在一个按钮单击事件处理程序出现时,我总是得到一个空引用异常:
string UserID = Membership.GetUser().ProviderUserKey.ToString();
不应该回到这个从我aspnet_Users表格内的UserID
?
如果<asp:LoginName>
是显示一个用户名值,不应该我总是能够调用Membership.GetUser().ProviderUserKey
_When_你打电话给这个吗?在登录代码本身中,用户会得到'null'。 –
你肯定会得到'NullReferenceException',因为'Membership.GetUser()'返回的用户对象是'null'。所以你应该在询问'ProviderUserKey'之前检查它。 –
@亨克Holterman我称之为按钮点击事件处理程序 – Curt