2012-05-10 6 views
2

Я пытаюсь получить зарегистрированный пользователь UserId, указанный в этом сообщении http://msdn.microsoft.com/en-us/library/aa478949.aspx, как часть таблицы aspnet_Membership.Получение текущего идентификатора пользователя

Вот где я ищу:

MembershipUser user = null; 

    if (User != null && User.Identity != null && !string.IsNullOrEmpty(User.Identity.Name)) 
    { 
     user = Membership.GetUser(User.Identity.Name); 
    } 

    if (user != null) 
    { 
     //int id = user.UserId; 
    } 

MembershipUser не имеет UserId. Я пытаюсь использовать UserId как внешний ключ для других таблиц, которые я создам. Я могу использовать UserName, но я решил, что лучше использовать UserId.

ответ

7

Попробуйте и посмотрите, работает ли MembershipUser.ProvideUserKey недвижимости для вас

из выше ссылки:

Свойства ProviderUserKey предоставляет идентификатор из источника данных членства напечатанного в качестве объекта. Тип идентификатора зависит от MembershipProvider или MemberhipUser. В случае SqlMembershipProvider, ProviderUserKey может быть передан как Guid, так как SqlMembershipProvider сохраняет идентификатор пользователя как UniqueIdentifier.

5
Membership.GetUser().ProviderUserKey 

GetUser() получит текущего пользователя, и ProviderUserKey будет Ид, он придет как объект, и вы хотите, чтобы бросить его, каково это действительно, INT, GUID и т.д.