如何在 ASP.Net CreateUserWizard 中获取新注册用户的用户 ID?
我有一个页面允许新用户使用“创建用户向导”进行注册。创建用户后,我想使用新用户的用户 ID 和电子邮件在客户详细信息表中插入一行。
我尝试在 CreateUserWizard1_CreatedUser 中放入一些代码来获取用户 ID。但是,据我所知,此时用户已创建;但是,此时用户尚未登录。我收到一条错误消息,内容是...
“NullReferenceException”由用户代码处理。
对象未设置为对象的实例。”
如果我在调试期间放置断点,我可以看到 customerId 的值为 null。
根据我在 MSDN 网站上读到的内容,CreatedUser 事件...
“在会员提供商创建新的网站用户帐户后发生。”
我想在创建用户向导更改为显示“继续”按钮之前将该行添加到客户详细信息表中。此时,用户可以转到其他页面或关闭应用程序。
CreatedUser 之后是否还有其他事件可以放置一些代码?
我看到有一个卸载事件。http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.createuserwizard_events%28v=vs.110%29.aspx http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.createuserwizard_events%28v=vs.110%29.aspx
我可以通过某种方式在 CreatedUser 事件中登录用户来获取用户 ID 吗?
这是我在注册页面上的代码,该代码不起作用。错误发生在代码行:“string customerId =”
protected void CreateUserWizard1_CreatedUser(object sender, EventArgs e)
{
// Add the Role of Customers to the new user.
Roles.AddUserToRole((sender as CreateUserWizard).UserName, "Customers");
// Get the current user's ID and email
string customerId = Membership.GetUser(HttpContext.Current.User.Identity.Name).ProviderUserKey.ToString();
string email = Membership.GetUser(HttpContext.Current.User.Identity.Name).Email.ToString();
bool success = CustomerDetailsAccess.CreateCustomerDetails(customerId, email);
...
}