Вы можете перебрать Membership.GetAllUsers()
и сопоставить ProviderUserKey
, возможно, но @SLaks верен, ASP использует числовые идентификаторы.
foreach (var user in Membership.GetAllUsers())
{
if ((Guid)user.ProviderUserKey == myguid)
return user;
}
EDIT Как указал @MystereMan, существует перегрузка для GetUser , которая принимает Guid:
public static MembershipUser GetUser(
Object providerUserKey
)
Попробуйте привести ваш dr
результат к данным Guidвведите, а затем передайте его методу GetUser (я думаю, что результат обратно недействителен или не может быть приведен).
Guid userId = Guid.Parse(dr.GetValue(dr.GetOrdinal("Id"));
MembershipUser = Membership.GetUser(userId);