2

aspnet_Membership テーブルの一部として、この投稿http://msdn.microsoft.com/en-us/library/aa478949.aspxに記載されているように、現在ログインしているユーザーの UserId を取得しようとしています。

ここに私が探している場所があります:

    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 を使用する方がよいと考えました。

4

2 に答える 2

7

MembershipUser.ProvideUserKeyプロパティが機能するかどうか試してみてください

上記のリンクから:

ProviderUserKey プロパティは、オブジェクトとして型指定されたメンバーシップ データ ソースから識別子を公開します。識別子のタイプは、MembershipProvider または MembershipUser によって異なります。SqlMembershipProvider の場合、SqlMembershipProvider はユーザー ID を UniqueIdentifier として格納するため、ProviderUserKey を Guid としてキャストできます。

于 2012-05-10T00:38:33.117 に答える
5
Membership.GetUser().ProviderUserKey

GetUser()は現在のユーザーを取得し、ProviderUserKeyはIDになり、オブジェクトとして提供されます。実際のユーザー、int、guidなどにキャストする必要があります。

于 2012-05-10T00:37:05.083 に答える