2012-04-17 2 views
1

Javaを使ってウェブサイトを作るときは、セッションと呼ばれるものがあります。このセッションでは、ブラウザセッションが進行中であれば基本的に必要な情報を保存できます。ASP.NET MVC 3で汎用変数にアクセスできるようにするには?

私はASP.NET MVC 3を使用することでかなり新しく、適時に適切なデータを渡すことができます。私はかなり頻繁に結びついています。ほとんどの場合、私はビューからコントローラに変数を渡して、他のビューに戻すことを理解しています。

しかし、ユーザーのアドレスを任意の視点から把握できるようにする方法があるのだろうかと思っていましたか?私はUser.Identity.Nameが組み込まれていることを知っています。これはユーザーが自分のページにいるかどうかをチェックするのに非常に便利です。しかしどこにでもアクセス可能なカスタム情報を持つUserオブジェクトを持つ方法はありますか?

私は現在、さまざまな評判が異なることを可能にしている私のウェブサイト(このウェブサイトとよく似ています)にレピュテーションシステムを導入しようとしています。ですから、多くの見方で私は "ねえ、ユーザーがこの評判を持っているなら、この機能を見せてください"と言わなければなりません。しかし、私はすべての単一のビューにユーザーを渡す必要がある場合、これは非常に面倒です。

アイデア?

答えて

1

私はあなたがHttpContext.Sessionを探していると思います。

セッションおよびASP.NET MVCの詳細については、this articleを参照して、リクエスト中にセッションがいつ利用できるかを理解してください。

1

カスタムクラスオブジェクトをSessionにしておくことができます。セッションは複数のリクエストで利用できます。

あなたはこの

public class LoggedInUser 
{ 
    public string DisplayName { set;get;} 
    //Other relevant properties. relevant only not everything ! 
} 

のようなクラスを持っていると仮定すると、あなたは今、この

LoggedInUser objLoggedInUser=new LoggedInUser(); 
objLoggedInUser.DisplayName="Johnson"; 
Session["LoggedUser"]=objLoggedInUser; 

のようなセッションに保存することができますあなたがこれを好きな場所、あなたがこの

のようにセッションからそれを読むことができます
LoggedInUser objLoggedInUser; 
if(LoggedInUser objLoggedInUser=!=null) 
{ 
    objLoggedInUser=(LoggedInUser)Session["LoggedUser"]; 
    // Now you can access objLoggedInUser.DisplayName 
} 

私はこの機能を関数にラップし、その関数を呼び出してデータwhを得る私はereverしたい。

関連する問題