我正在使用这个会员提供程序。我在获取用户列表和个人资料(名字,姓氏,头衔等等)方面遇到了困难。
我知道有一个方法可以使用Membership.GetAllUsers(),但我不知道如何将其与我存储在Profile Provider中的名字和姓氏结合起来使用。
谢谢
我正在使用这个会员提供程序。我在获取用户列表和个人资料(名字,姓氏,头衔等等)方面遇到了困难。
我知道有一个方法可以使用Membership.GetAllUsers(),但我不知道如何将其与我存储在Profile Provider中的名字和姓氏结合起来使用。
谢谢
Membership.GetAllUsers() 返回一个 MembershipUserCollection,您可以使用它来访问单个的 MembershipUser。例如:
MembershipUserCollection users = Membership.GetAllUsers();
string email = users["some_username"].Email;
ProfileInfoCollection profiles = ProfileManager.GetAllProfiles(ProfileAuthenticationOption.All);
DateTime lastActivity = profiles["some_username"].LastActivityDate;
然而,默认情况下没有 FirstName 和 LastName 属性,除非你在配置文件提供程序中手动指定了它们。
查看 MembershipUser 类 和 ProfileInfo 类 以获取更多详细信息。如果您还没有实现,请参考 SqlProfileProvider 类 作为配置文件提供程序的示例。
首先,当您创建用户时,请使用以下方式创建具有相同用户名的配置文件:
// Create an empty Profile for the new User
ProfileCommon p = (ProfileCommon) ProfileCommon.Create("username", true);
// Retrieve a particular profile
ProfileCommon userProfile = Profile.GetProfile("username");