1

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

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

请帮忙

4

3 回答 3

2

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

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

dbo.aspnet_Profile是数据库内部的表,aspnetdb默认情况下用于存储用户的配置文件。因此,如果您更喜欢存储在配置文件中,创建用户后,加载新创建用户的配置文件并设置您收集的自定义信息。

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创建用户。甚至您也可以只收集一些基本信息,例如:用户名、密码,仅使用 2 个文本框,并使用各种重载版本的MemberShip.CreateUser()方法创建用户。检查 MSDN。此外,此链接创建了具有非常基本信息的用户。

于 2013-09-04T12:15:21.380 回答
2

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

于 2013-09-04T11:37:41.720 回答
1

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

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

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

于 2013-09-04T11:24:33.530 回答