0

ASP.NET c#を学ぶためだけにサイトを作成しようとしています。データベースから値を取得しようとして立ち往生しています。「顧客」がログインしている場合は、住所の詳細をいくつかのテキストボックスに表示できます。Selectを使用するsprocに似ています。誰かが私を助けたり、顧客がログインしている場合に顧客の詳細を取得する方法を学ぶことができる場所を勧めたりできますか?または、これを実行し、「悪いプログラミング方法」を使用しないようにする特定の方法はありますか。

4

1 に答える 1

0

組み込みのメンバーシップ クラスを使用することをお勧めします。

MembershipUser m = Membership.GetUser();

if (m == null)
{
   // User not logged on.
}

Entity Framworkm.ProviderUserKeyを使用している場合 (そうでない場合は、使用を検討してください。シンプルで便利です) に格納されているユーザー ID は、次を使用してこのユーザーに関するデータを取得します。

var loggedOnUser = context.Users.First(u=>u.ProviderUserKey == m.ProviderUserKey);

    if (loggedOnUser  == null)
    {
       // Shoudn't happen. If do, the user logged in for some reason is not stored in the database.
    }

MembershipUser から派生した CustomMembershipProvider と CustomMembershipUser を実装すると、次の方法でユーザーに関するすべての情報を取得できます。

// Get custom user (if allready logged in)
CustomMembershipUser user = Membership.GetUser() as CustomMembershipUser;
于 2012-10-27T23:36:29.070 に答える