Asp.net:如何在会员数据库中添加额外的用户详细信息?

时间:2013-09-04 11:18:38

标签: c# asp.net membership createuserwizard

我是asp.net会员资料的新手。如果我需要创建一个具有额外参数的新用户,例如firstname。我应该为这些额外参数创建一个新表吗?

如果我没有使用CreateUserWizard创建用户,我是否只使用Membership.CreateUser来创建用户?

请帮忙

3 个答案:

答案 0 :(得分:2)

您可以使用ASP.NET配置文件属性存储用户的额外信息。您对此MSDN文章了解更多信息。

答案 1 :(得分:2)

获取其他用户信息(例如名字)后,您可以将此信息保存到自定义数据库表中。

有效点可能是将信息存储在配置文件中。但是,在通过向导运行时,用户尚未进行身份验证,因此您无法将信息存储到配置文件中,因为这仅适用于经过身份验证的用户。因此,您必须将其存储在自定义数据库表中,或者包括用户在注册过程后编辑配置文件的方式。

dbo.aspnet_Profileaspnetdb数据库中的表,默认用于存储用户的配置文件。因此,如果您希望存储在配置文件中,则在创建用户后,加载新创建的用户的配置文件并设置您收集的自定义信息。

ProfileCommon p = Profile.GetProfile(strUsername);
//update the field and save
p.FirstName= txtFirstName.Text;
p.Save();

问题2 ::

If I am not using CreateUserWizard to create user, do I just use
Membership.CreateUser to create the user??

是的,没有必要使用CreateUserWizard来创建用户。即使您只是收集一些基本信息,例如:UserName,仅使用2个TextBox的密码,并使用各种重载版本的MemberShip.CreateUser()方法创建用户。 Check MSDN。此外,这个Link创建了具有非常基本信息的用户。

答案 2 :(得分:1)

有一个名为UserProfile的表,用于存储用户名和用户ID。这由Membership.CreateUser函数使用。

如果添加到此表,则列必须可以为空,否则在尝试创建新用户时会抛出错误。

另一种方法是使用单独的表来存储更多详细信息。确保主键的类型为INT,并且不会自动递增。这样,您可以确保ID与UserProfile表的用户ID相同,从而避免两个表之间存在1对多的关系。