我如何通过ID获取用户? MembershipUser mu = Membership.GetUser(“UserName”); 但是,我希望通过ID获取用户,但不是按名称获取。
答案 0 :(得分:4)
MembershipUser u = Membership.GetUser(id);
这将起作用(期望对象ProviderUserKey) - 默认的asp.net成员资格提供者是GUID。
答案 1 :(得分:1)
由于用户名是唯一的,因此您可以查询应用程序数据库Users
表以获取特定UserName
的{{1}}并将结果传递给UserID
答案 2 :(得分:1)
如果你正在使用内置的MembershipProvider,那么你将不得不编写一个帮助方法,它将为你完成这项工作,并根据要查询的Id返回一个MembershipUser实例。
如果您正在使用自己的自定义MembershipProvider,那么您可以为Membership.GetUser()创建方法重载,它将获取Id并返回MembershipUser实例,但是,您需要转换MembershipProvider默认实例到自定义MemberdhipProvider的类型以获得类型安全访问
答案 3 :(得分:1)
如果您使用(或继承)标准SqlMemberShipProvider,则可以使用MembershipProvider.GetUser(providerUserKey, userIsOnline)
。
其中providerUserKey
是GUID,userIsOnline
是一个布尔值,表示是否应该更新指定用户的最后活动日期/时间戳。