C# 如何在ASP.Net CreateUserWizard中获取新注册用户的用户ID?
如何在ASP.Net CreateUserWizard中获取新注册用户的用户ID 我有一个允许新用户注册创建用户向导的页面。创建用户后,我想使用新用户的用户ID和电子邮件在customer details表中插入一行 我试着在CreateUserWizard1_CreatedUser中输入一些代码来获取用户ID。但是,据我所知,用户是在这一点上创建的;但是,用户此时未登录。我得到一个错误,说 “NullReferenceException”由用户代码处理。 对象未设置为对象的实例。“ 如果在调试期间设置断点,我可以看到customerId的值为null 从我在MSDN网站上看到的CreatedUser事件。。。 “在成员资格提供程序创建新网站用户帐户后发生。” 我想在创建用户向导更改为显示“继续”按钮之前,将该行添加到customer details表中。此时,用户可以转到其他页面或关闭应用程序 CreatedUser之后是否还有其他事件,我可以在其中放置一些代码? 我看到有一个卸载事件。 我可以在CreatedUser事件中以某种方式登录用户以获取用户ID吗C# 如何在ASP.Net CreateUserWizard中获取新注册用户的用户ID?,c#,asp.net,C#,Asp.net,如何在ASP.Net CreateUserWizard中获取新注册用户的用户ID 我有一个允许新用户注册创建用户向导的页面。创建用户后,我想使用新用户的用户ID和电子邮件在customer details表中插入一行 我试着在CreateUserWizard1_CreatedUser中输入一些代码来获取用户ID。但是,据我所知,用户是在这一点上创建的;但是,用户此时未登录。我得到一个错误,说 “NullReferenceException”由用户代码处理。 对象未设置为对象的实例。“ 如果在调试
这是我在注册页面上的代码,它不起作用。错误发生在代码行:“string customerId=”
当用户正在进行注册过程时,除非注册的用户已经登录,否则不会设置
HttpContext.Current.user.Identity
(匿名访问)
要解决此问题,您需要从向导而不是上下文中获取用户名
要解决此问题,请更改以下行:
string customerId = Membership.GetUser(HttpContext.Current.User.Identity.Name).ProviderUserKey.ToString();
为此:
string customerId = Membership.GetUser((sender as CreateUserWizard).UserName).ProviderUserKey.ToString();
成功了。非常感谢你,马尔卡塞姆。
string customerId = Membership.GetUser(HttpContext.Current.User.Identity.Name).ProviderUserKey.ToString();
string customerId = Membership.GetUser((sender as CreateUserWizard).UserName).ProviderUserKey.ToString();