RazorでMVC 3アプリケーションを構築していて、_Layoutファイルで使用されるセッションスコープ内にいくつかの情報が残っています。Razor _Layout.cshmlからセッションオブジェクトにアクセス
これを実装する最良の方法は何かについてはわかりません。この情報の一部は、ヘッダーに表示される内容を決定するために使用されます。
は、私はあなたが単にオブジェクトを作成することができ、ユーザオブジェクトにアクセスしたい場合は
RazorでMVC 3アプリケーションを構築していて、_Layoutファイルで使用されるセッションスコープ内にいくつかの情報が残っています。Razor _Layout.cshmlからセッションオブジェクトにアクセス
これを実装する最良の方法は何かについてはわかりません。この情報の一部は、ヘッダーに表示される内容を決定するために使用されます。
は、私はあなたが単にオブジェクトを作成することができ、ユーザオブジェクトにアクセスしたい場合は
あなただけの、レイアウトファイル
@HttpContext.Current.Session["Whatever"].ToString()
でのHttpContextにアクセスしたりできSessionスコープに保存されているCurrentUserにオブジェクトを持っていますそのページに...あなたのコード内で後で次に
@{ CurrentUser user = (CurrentUser)HttpContext.Current.Session["CurrentUser"]; }
を割り当てる
@user.Name
それはビュー(HttpContext.Current.
プレフィックスはまったく必要ありません)から直接Session
プロパティを使用している実行する簡単な方法:
@(CurrentUser)Session["CurrentUser"]
ちょっとおかげで..動作しますが、今、私は私が持っていた汚れの原因を感じます@usingディレクティブを追加します。あなたの_LayoutにViewModelを使用する方法はありませんか? – JBeckton
あなたがきれいになるようにするには、Views \ Web.configファイルのRazor usingのデフォルトリストに名前空間を追加します。 – marcind
ビューモデルの共通基底クラスでこれを囲むこともできます。私は_Layoutページからその基本クラスを使用できると信じています。 –