Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/292.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何在ASP.Net CreateUserWizard中获取新注册用户的用户ID?_C#_Asp.net - Fatal编程技术网

C# 如何在ASP.Net CreateUserWizard中获取新注册用户的用户ID?

C# 如何在ASP.Net CreateUserWizard中获取新注册用户的用户ID?,c#,asp.net,C#,Asp.net,如何在ASP.Net CreateUserWizard中获取新注册用户的用户ID 我有一个允许新用户注册创建用户向导的页面。创建用户后,我想使用新用户的用户ID和电子邮件在customer details表中插入一行 我试着在CreateUserWizard1_CreatedUser中输入一些代码来获取用户ID。但是,据我所知,用户是在这一点上创建的;但是,用户此时未登录。我得到一个错误,说 “NullReferenceException”由用户代码处理。 对象未设置为对象的实例。“ 如果在调试

如何在ASP.Net CreateUserWizard中获取新注册用户的用户ID

我有一个允许新用户注册创建用户向导的页面。创建用户后,我想使用新用户的用户ID和电子邮件在customer details表中插入一行

我试着在CreateUserWizard1_CreatedUser中输入一些代码来获取用户ID。但是,据我所知,用户是在这一点上创建的;但是,用户此时未登录。我得到一个错误,说

“NullReferenceException”由用户代码处理。 对象未设置为对象的实例。“

如果在调试期间设置断点,我可以看到customerId的值为null

从我在MSDN网站上看到的CreatedUser事件。。。 “在成员资格提供程序创建新网站用户帐户后发生。”

我想在创建用户向导更改为显示“继续”按钮之前,将该行添加到customer details表中。此时,用户可以转到其他页面或关闭应用程序

CreatedUser之后是否还有其他事件,我可以在其中放置一些代码? 我看到有一个卸载事件。

我可以在CreatedUser事件中以某种方式登录用户以获取用户ID吗


这是我在注册页面上的代码,它不起作用。错误发生在代码行:“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();