【问题标题】:How to customize CreateUserWizard to get UserId and UserName values?如何自定义 CreateUserWizard 以获取 UserId 和 UserName 值?
【发布时间】:2015-04-26 01:03:48
【问题描述】:

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

安装包 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 时。您可以看到一个名为“创建用户”的按钮,所以我认为这是一个扩展和添加代码以获取所需值的好地方。于是我点了CreateUserWizard上的小箭头,选择Customize Create User Setup,但是可编辑模板不包括“创建用户”对应的按钮。

那么有什么方法可以实现呢?

【问题讨论】:

    标签: c# asp.net database profile createuserwizard


    【解决方案1】:

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

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

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

    newUser.UserName 将为您提供 UserName,而 NewUserId 将为您提供 id。到那时,您应该拥有所需的东西。

    【讨论】:

    • 需要哪些命名空间;我添加了using System.Web.Security;,但错误提示:Membership doesn't contain a definition for 'GetUser'
    • generate method stub for 'GetUser' in 'Membership
    • 您将需要 System.Web.UI.WebControls,但对于我的用途,我使用: using System.Web;使用 System.Web.Security;使用 System.Web.UI;使用 System.Web.UI.HtmlControls;使用 System.Web.UI.WebControls;使用 System.Web.UI.WebControls.WebParts;
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-05-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-12-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多