在我们的应用系统中,asp.net
2.0的用户表中的数据往往不能满足我们的需求,还需要增加更多的数据,一种可能的解决方案是使用Profile,更普遍的方案可能是CreateUserwizard中添加数据到我们自己的表中。

在结合asp.net
2.0的用户管理系统设计的保存用户额外信息的表中的主键是用户表ID的外键,你可以获取ID从Membershipuser属性Provideruserkey.
使用Createuserwizard的Oncreateduser事件.
在这个事件中可以通过Membership类的GetUser方法获取当前创建成功的用户MembershipUser

 MembershipUser   user  =
Membership.getuser=(MyCreateUserWizar.UserName) ;

使用Createuserwizard的UserName属性可以获得注册的用户名.
当你建立用户membershipuser对象,可以使用Provideruserkey获取用户的主键值(一个GUID值):

CreateUserWinard的OnCreatedUser事件中可以获取你要添加的额外用户信息和Provideruserkey的值插入到你自己的数据库表中。下面是一个如何使用的例子:

protected void CreateUserWizard1_CreatedUser( object sender,
System.EventArgs e)
{

        MembershipUser user =
Membership.GetUser(CreateUserWizard1.UserName);

        if (user != null)
            Throw New ApplicationException(“找不到用户.”);

        Guid userId = (Guid)user.ProviderUserKey;

       // 获取CreateUserWizard控件中的额外的用户注册信息

        TextBox myData =
CreateUserWizard1.CreateUserStep.ContentTemplateContainer.FindControl(“TextBox1”)
as TextBox;

        UserInfo userinfo = new UserInfo();

        userinfo.ID = userId;

        userinfo.QQ = myData.Text;

        ……

        this.AddMyDataToMyDataSource(userinfo);
}

private void AddMyDataToMyDataSource(UserInfo myData)
{
   //添加数据到自己的数据库表中
}

园子中的Membership的相关文章:

ASP.NET 2.0
Membership

asp.net 2.0
用户管理功能结构

关于Membership的设置

(翻译)怎么在ASP.NET
2.0中使用Membership

Membership学习(四)-自定义MembershipProvider[xgluxv]

Membership学习(三)Membership Providers介绍[xgluxv]

Membership学习(二)membership入门[xgluxv]

Membership学习(一) Membership介绍[xgluxv]

membership,想说爱你不容易

相关文章