ASP.NET创建用户向导 - 自定义帮助

时间:2010-04-09 10:27:30

标签: sql vb.net stored-procedures asp.net-membership createuserwizard

我使用了asp成员资格功能将用户管理添加到我的网络应用程序中。我修改了默认表以包含更多字段。在创建用户向导上,我将向导步骤1转换为可自定义的模板,并添加到2个字段的控件中。

我是否只知道修改用于存储用户记录的存储过程?我该如何为此添加下拉列表?

USE [DataWarehouseClients]
GO
/****** Object:  StoredProcedure [dbo].[aspnet_Users_CreateUser]    Script Date:     04/09/2010 12:03:01 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER OFF
GO

ALTER PROCEDURE [dbo].[aspnet_Users_CreateUser]
   @ApplicationId    uniqueidentifier,
   @UserName         nvarchar(256),
   @IsUserAnonymous  bit,
   @LastActivityDate DATETIME,
   @UserId           uniqueidentifier OUTPUT
AS
BEGIN
   IF( @UserId IS NULL )
       SELECT @UserId = NEWID()
   ELSE
BEGIN
    IF( EXISTS( SELECT UserId FROM dbo.aspnet_Users
                WHERE @UserId = UserId ) )
        RETURN -1
END

INSERT dbo.aspnet_Users (ApplicationId, UserId, UserName, LoweredUserName, IsAnonymous, LastActivityDate)
VALUES (@ApplicationId, @UserId, @UserName, LOWER(@UserName), @IsUserAnonymous, @LastActivityDate)

RETURN 0

结束

干杯 - 比利

2 个答案:

答案 0 :(得分:1)

如果您使用ASP.Net会员资格api作为@edosoft建议,那么您不需要手动更新存储过程。

如果要将新/自定义字段添加到用户配置文件,则可以在与配置文件关联的web.config文件中添加密钥。然后,可以从单独例程中的静态下拉列表中使用的db表中单独选择此字段的值,例如。

在您的web.config文件中:

    <profile enabled="true" defaultProvider="providername" automaticSaveEnabled="true">
        <providers>
          <add name="providername" type="System.Web.Profile.SqlProfileProvider" connectionStringName="ConnectionString" applicationName="AppName"/>
        </providers>
        <properties>
          <add name="UserFirst"/>
          <add name="UserLast"/>
        </properties>
    </profile>

然后您可以像使用User_ID那样使用它,其中User_ID是字符串标识符。

        Membership.CreateUser(User_ID, "password", "email@example.com")        
        Dim objProfile As ProfileCommon = CType(ProfileBase.Create(User_ID, True), ProfileCommon)
        objProfile.UserFirst = User_First
        objProfile.UserLast = User_Last
        objProfile.Save()

希望这有帮助。

答案 1 :(得分:0)

就我所知,ASP.NET会员API使用存储的proc aspnet_Users_CreateUser