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

2024-03-17

如何在 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);

...

}

当用户进行注册过程时,HttpContext.Current.User.Identity除非注册用户已经登录,否则不会设置(匿名访问)。

要解决该问题,您需要从向导中获取用户名而不是上下文。

要解决此问题,请更改以下行:

string customerId = Membership.GetUser(HttpContext.Current.User.Identity.Name).ProviderUserKey.ToString();

to this:

string customerId = Membership.GetUser((sender as CreateUserWizard).UserName).ProviderUserKey.ToString();
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在 ASP.Net CreateUserWizard 中获取新注册用户的用户 ID? 的相关文章

随机推荐

  • 在条件执行之前从 NHibernate 条件获取 SQL 查询

    我有一个 NHibernate 标准 我需要从中获取 SQL 查询 我尝试了各种方法here https stackoverflow com questions 554481 how to get sql from hibernate cr
  • Polars 从日期时间对象中添加/减去 UTC 偏移量

    我想添加 减去UTC极坐标中日期时间对象的偏移量 通常以小时为单位 但我似乎没有找到实现此目的的方法 鉴于日历年中存在夏令时 UTC 偏移量可以是动态的 例如 EST EDT 映射到 5 4 小时UTC分别偏移 from datetime
  • 创建可以通过拖动背景区域中的任意位置来移动的非矩形表单

    我想通过左键单击并按住背景区域来移动表单窗口 就像我们通常使用标题栏一样 然后我还想将应用程序的表单窗口 即矩形窗口 更改为自定义设计的图形窗口 我在许多其他应用程序中看到过这种类型的窗口 所以我相信这是可能的 问题一 要允许在拖动其客户区
  • 如何使用 Cordova 处理文件?

    注意 此问题被重新发布 因为无论出于何种原因 原始发布者决定在提供并接受答案后将其删除 因此 我再次添加它以保存知识 原问题 我尝试在混合应用程序中使用 apache cordova api 从 localhost 8080 filenam
  • 如何从 CoNLL 格式转换为 spacy 格式

    我目前正在研究 NER 模型 我有一堆以 CoNLL 格式存储的数据 需要转换为 Spacy 格式 在 CoNLL 中 句子的每个单词旁边都有一个标签 在 Spacy 中 标签仅显示给具有实际标签的单词 我如何从下面的这种格式转换 CoNL
  • 为什么 clang 发出 32 位 float ps 指令来获取 64 位 double 的绝对值?

    clang为什么会转fabs double into vandps代替vandpd 就像海湾合作委员会那样 示例来自编译器资源管理器 https gcc godbolt org z TsfW9hrjT include
  • UTC 和 Etc/UTC 时区之间有区别吗?

    在 PHP 文档中 支持的时区列表 http php net manual en timezones others php UTC被列出两次 UTC Etc UTC 这两者之间有概念上的区别吗 或者它们只是同义词 简短回答 NO 有没有不同
  • JCL 安装到 Delphi 10 西雅图时出错

    我正在尝试将 JCL JVCL 安装到 Delphi 10 Seattle 中 我收到以下错误 使用 Embarcadero RAD Studio 10 西雅图 Embarcadero Delphi for Win32 编译器版本30 0
  • PHP 浮动使用的最佳实践

    我读过浮点指南 http floating point gui de languages php 关于在 PHP 中使用 float 类型 答案是使用 BC Math 扩展 使用字符串可以将浮点数表示为精确类型 并防止浮点数和整数问题 同时
  • 从 VBA 中的不同模块调用子例程

    是否可以从一个函数调用一个函数Module到另一个 我有以下代码 Sub MAIN Call IDLE End Sub MAIN位于Module1 IDLE位于Module2并定义为 Sub IDLE 在调用前加上 Module2 前缀 例
  • 使用 SUMO 场景的子集进行 OMNeT++ 网络模拟(使用 VEINS)

    我正在尝试使用 OMNeT Veins 和 SUMO 评估在车载网络上运行的应用程序 因为该应用程序依赖于现实的流量行为 所以我决定使用LuST场景 https github com lcodeca LuSTScenario 这似乎是此类数
  • glewInit() 失败,OpenGL 应用程序

    我正在尝试使用 glew glfw 构建一个 OpenGL 应用程序 我已经下载了二进制文件 将它们放在文件夹的根目录中 添加了 include 和 lib 目录的路径 并告诉我的项目需要 glew32 lib GLFW lib 和 ope
  • Delphi XE AnsiStrings 带有转义组合变音符号

    将包含转义组合变音标记 如 Fu u0308rst 的 Delphi XE AnsiString 转换为友好的 WideString F rst 的最佳方法是什么 我知道这并不总是适用于所有组合 但应该支持常见的拉丁语块 而无需自己构建愚蠢
  • WP7 - 水平滚动列表框的问题

    我需要一个水平滚动的列表框 并且我遵循了与此相关的其他几个问题提出的关于如何实现的建议 我目前所拥有的确实水平滚动 但在滑动结束时 它不会停留在我滚动到的位置 它会恢复到原始显示 有点像它的一块松紧带 在滑动后返回到其原始位置它被拉伸了 我
  • 使用dispatchEvent获得焦点事件

    当我触发一个focus事件与dispatchEvent在输入框上 其onfocus被调用 但在 UI 上输入框未获得焦点 这种行为有什么原因吗 var test document getElementById test test onfoc
  • 是否可以部分解码和更新 JSON? (去)

    我只需要解码和更新 json 对象的特定值 问题是我不知道该对象的完整结构 coding json 包 忽略 截断结构中未提供的字段 因此对这些字段进行编码会丢失 我想知道是否可以只解组我知道的结构 更新它 然后编组它 而不截断 删除未知的
  • 登录 Facebook 后如何重定向 url?

    我创建了一个 Django 应用程序 并通过 Facebook 连接到该应用程序 现在 当我单击 Facebook 登录按钮时 会弹出 oauth 页面 当我提供用户名和密码时 它会关闭 而不会实际将页面重定向到任何页面 但是当我在新选项卡
  • 如何避免graphviz中的重叠节点?

    我正在尝试绘制一个包含许多节点和边的图 然而 该图变得过于笨拙 节点和边重叠 我尝试了 未成功 以下所有方法或这些方法的组合 size 12 0 20 0 margin 0 0 len 1 0 我在用neato生成一个 png 文件 尺寸规
  • 删除一行后如何刷新jquery数据表

    数据表中的每一行都有一个删除按钮 单击删除按钮后 我将调用以下代码 deleteButton live click function var this this var url this attr id example fnReloadAj
  • 如何在 ASP.Net CreateUserWizard 中获取新注册用户的用户 ID?

    如何在 ASP Net CreateUserWizard 中获取新注册用户的用户 ID 我有一个页面允许新用户使用 创建用户向导 进行注册 创建用户后 我想使用新用户的用户 ID 和电子邮件在客户详细信息表中插入一行 我尝试在 Create