使用asp.net 2.0的CreateUserwizard控件如何向自己的数据表中添加数据

在我们的应用系统中,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,想说爱你不容易

作者: 自由、创新、研究、探索……
出处:http://shanyou.cnblogs.com/
版权:本文版权归作者和博客园共有
转载:欢迎转载,为了保存作者的创作热情,请按要求【转载】,谢谢
要求:未经作者同意,必须保留此段声明;必须在文章中给出原文连接;否则必究法律责任
个人网站: http://www.openbeta.cn
posted @ 2006-09-10 22:21 geff zhang 阅读(6648) 评论(3)  编辑 收藏 网摘 所属分类: .net framework

  回复  引用  查看    
#1楼2006-09-11 00:23 | aspnetx      
还有一篇埋怨Membership的,呵呵,我写过的
来凑个数

  回复  引用  查看    
#2楼2007-02-02 18:09 | 沧桑雨迢迢      
基本上,微软提供的成员角色系统仅供参考,或者,你开发自定义的Provider来应用微软提供的“皮”。而且,我认为profile的改变不应该应用在一些基本的用户数据资料补充上,那是设计事务!
  回复  引用  查看    
#3楼2007-05-24 16:16 | 永远小太阳      
原文
------------------------
if (user != null)
Throw New ApplicationException("找不到用户.");
------------------------
应该改为
if (user == null)
throw new ApplicationException("找不到用户.");
哈哈




发表评论

昵称: [登录] [注册]

主页:

邮箱:(仅博主可见)

评论内容:

  登录  注册

[使用Ctrl+Enter键快速提交评论]

0 500472




相关文章:

相关链接: