2011-01-21 21 views
2

私はASP.net(C#.net4)で小さなポータルを作っています。そこでは、ユーザーがログインして個人情報(PI)を追加、追加することができます。しかし、特定のユーザーがログインしているときに、ページに情報(SQLサーバーDBに格納されている)をロードする方法はありません。特定のユーザーの情報を追跡して読み込む方法

例:Samがログインしている場合、PIを表示できます。 Vickyがログインすると、彼女は彼女のPIを見ることができます。

私にこれを手伝ってもらえますか?

ありがとうございます。

答えて

1

ログインしたユーザーのIDをsession variableに保存し、それを使用して各ユーザーの情報を取得するクエリをフィルタ処理する必要があります。

ユーザーのIDが278であれば、あなたのクエリは、のように実行します:

SELECT first_name, last_name, * FROM user_table WHERE user_id = 278 

のように保存されたセッション変数から:

Session["UserId"] = currentUserId; 
0

ASP.NET membership providerが既にあなたのためにこれの世話をしています。あなたはそれを使用すると考えましたか?定義したすべての認証、アクセス許可、役割、アクセス/編集プロファイル情報を管理できます。メンバーシップオブジェクトを介してデータにアクセスするため、SQLを1行書く必要はありません。ホイールを再開発しようとするのではなく、作業負荷を軽減します。

+0

通常、この方法もお勧めしますが、トーマスは現在のユーザーを追跡して個人情報を適切に表示する方法を尋ねています。 –

+0

はい正確にPaul – Thomas

+0

ユーザーのプロフィールからデータをプルするだけです... – IrishChieftain

0

他の回答に記載されているように、通常のメンバーシップを使用してください。次に、プロファイルシステムを活用して、ログインしたとき(質問ごとに)各ユーザーが自分の情報を表示/編集できるようにします。注意:ASP.NETプロファイルシステムは、Webサイトのプロジェクトテンプレートでのみ使用できます。あなたはWebアプリケーションプロジェクトテンプレートを使用したい場合は、こちらの手順に従ってください:あなたが起動しているプロファイルがある場合は

ASP.NET: Web Site versus Web Application Project

は、プロファイルデータは、セッションオブジェクトに格納することができ、ユーザがログインしている間

関連する問題