c# – 如何在ASP.Net CreateUserWizard中获取新注册用户的用户ID?
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了c# – 如何在ASP.Net CreateUserWizard中获取新注册用户的用户ID?,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1884字,纯文字阅读大概需要3分钟。
内容图文
![c# – 如何在ASP.Net CreateUserWizard中获取新注册用户的用户ID?](/upload/InfoBanner/zyjiaocheng/800/36699e1487d14aa8a6a5ae2f382a7be2.jpg)
如何在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);
…
}
解决方法:
当用户正在进行注册过程时,除非用户注册已经登录,否则不会设置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();
内容总结
以上是互联网集市为您收集整理的c# – 如何在ASP.Net CreateUserWizard中获取新注册用户的用户ID?全部内容,希望文章能够帮你解决c# – 如何在ASP.Net CreateUserWizard中获取新注册用户的用户ID?所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。