如何自定义 CreateUserWizard 获取 UserId 和 UserName 值?

How to customize CreateUserWizard to get UserId and UserName values?

我正在使用 Membership provider 处理 用户 注册和登录网站。这个 Membership provider 是一个包的一部分来自:

Install-Package Microsoft.AspNet.Providers

我有两个 ASPX 页面,一个有一个 CreateUserWizard 控件,另一个有一个 Login 控件。注册和日志记录工作正常。

我在 web.config 文件中定义了 Profile 属性:

<profile defaultProvider="DefaultProfileProvider">
  <properties>
    <add name="Id" type="System.Guid" />
    <add name="UserName"/>
  </properties>

我想要做的是能够在用户注册时获取 UserIdUserName 值,并将它们存储到 Profile.IdProfile.UserName分别。

如何自定义 CreateUserWizard 来实现这一点?

我的尝试:
当您在浏览器上显示 CreateUserWizard 时。您可以看到一个名为 "Create User" 的按钮,因此我认为这是扩展和添加代码以获取所需值的好地方。所以我点击了CreateUserWizard上的小箭头,选择了Customize Create User Setup,但是editable template没有包含"Create User"对应的按钮。

那么实现这一目标的可能方法是什么?

在 CreateUserWizard 控件事件下的 aspx 文件中,有一个 "createdUser" 您可以创建的事件。

在CreateUser函数的cs文件中放入:

    MembershipUser newUser = Membership.GetUser(NewUserWizard.UserName);
    Guid newUserId = (Guid)newUser.ProviderUserKey;

newUser.UserName 会给你 UserName,NewUserId 会给你 id。到那时你应该拥有你需要的东西。