2012-05-10 93 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沒有一個用戶ID。我試圖將UserId用作我將創建的其他表的外鍵。我可以使用UserName,但我認爲使用UserId可能會更好。

回答

7

試試,看看MembershipUser.ProvideUserKey屬性適用於您

從上面的鏈接:

的ProviderUserKey屬性公開的類型爲對象的成員資格數據源的標識符。標識符的類型取決於MembershipProvider或MembershipUser。對於SqlMembershipProvider,ProviderUserKey可以轉換爲Guid,因爲SqlMembershipProvider將用戶標識符存儲爲UniqueIdentifier。

5
Membership.GetUser().ProviderUserKey 

的getUser()將獲得當前用戶,並ProviderUserKey將是編號,它會作爲一個對象,你會想將它轉換爲它到底是什麼,INT,GUID等