如何在 ASP.Net CreateUserWizard 中获取新注册用户的用户 ID?
我有一个页面,允许新用户注册创建用户向导。创建用户后,我想使用新用户的用户 ID 和电子邮件在客户详细信息表中插入一行。
我尝试在 CreateUserWizard1_CreatedUser 中放入一些代码来获取用户 ID。但是,据我所知,用户是在此时创建的;但是,此时用户尚未登录。我收到一个错误提示...
“NullReferenceException”由用户代码处理。对象未设置为对象的实例。”
如果我在调试期间设置断点,我可以看到 customerId 的值为 null。
根据我在 MSDN 网站上阅读的内容,CreatedUser 事件...“在成员资格提供商创建新的网站用户帐户后发生。”
我想在创建用户向导更改为显示“继续”按钮之前将该行添加到客户详细信息表中。此时,用户可以转到其他页面或关闭应用程序。
CreatedUser 之后是否还有其他事件可以在其中放置一些代码?我看到有一个 Unload 事件。 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);
...
}