通过Membership.CreateUser创建用户时,是否有可以设置用户地址,城市,州,邮政编码等的.NET包装器?

时间:2013-08-16 18:06:15

标签: c# asp.net asp.net-membership

我一直在谷歌搜索这个约30分钟现在无济于事。看起来它会很直接。但基本上,我是通过代码Memebership.CreateUser(...)创建新用户的。我需要设置用户的地址,城市,州等。我想这将是用户的个人资料。是否有可用于执行此操作的.NET包装器(如Membership)?我在世界上如何设置这些信息?

2 个答案:

答案 0 :(得分:2)

您应该在web.config中配置ProfileProvider 稍后在您的代码中,您可以为该用户创建配置文件,并设置所需的属性(名称,地址等)。 以下是Scott Mitchell在ASP.NET's Membership, Roles, and Profile

上的教程

Profile Providers有不同的实现,你也可以自己做一个 我建议您尝试使用Sql Stored Procedure Profile Provider或Table Profile Provider。

框架提供 SqlProfileProvider 。您可以在提供的链接中阅读它。

它说“在定义了Profile属性之后,ASP.NET引擎会自动创建一个 ProfileCommon 类,该类具有映射到Web.config中定义的属性的属性(允许IntelliSense和编译 - 时间类型检查)。每当修改Web.config中定义的属性时,动态重新创建此类......“

“可以通过HttpContext对象的 Profile 属性在ASP.NET页面的代码部分中访问自定义ProfileCommon类。例如,从ASP读取当前登录用户的HomepageUrl属性。 NET页面,只需使用Profile.HomepageUrl ...“

但是使用 SqlProfileProvider 并不是一个好的实现,因为它将所有自定义属性(例如地址,电话等)保存在一行中的两列中。这就是我建议调查存储过程或表配置文件提供程序的原因。

答案 1 :(得分:0)

您可以创建另一个表并使用外键作为UserId,即UniqueIdentifier,并在aspnet_Users表中使用。

使用UserId,您可以使用已经与aspnet_user表链接的新创建的table.bcoz asp_net_membership表管理所有成员资格表。

当成员资格创建用户的状态成功时,则在新创建的表中创建一行..