私の質問はこの質問に似ています: asp.net mvc の Site.Master に含まれる .ascx という部分ビューでデータベース情報にアクセスする
My Site.Master はビュー モデルまたはコントローラーにバインドされていません。Site.Master ファイルに読み込まれた部分ビュー内のユーザー コンテキストにアクセスするにはどうすればよいですか?
私の質問はこの質問に似ています: asp.net mvc の Site.Master に含まれる .ascx という部分ビューでデータベース情報にアクセスする
My Site.Master はビュー モデルまたはコントローラーにバインドされていません。Site.Master ファイルに読み込まれた部分ビュー内のユーザー コンテキストにアクセスするにはどうすればよいですか?
この目的でアクション フィルターを使用できます。OnActionExecuting
アクションフィルターでは、メソッドをオーバーライドして UserContext を渡す必要がありますfilterContext.Controller.ViewBag.UserContext
この動的ビューバッグは、マスター ファイルでどこでも使用できます。
これはあなたの質問に答えていますか?
編集:
から継承するクラスが必要であり、以下のようにそのメソッドActionFilterAttribute
をオーバーライドできます。OnActionExecuting
public override void OnActionExecuting(ActionExecutingContext filterContext)
{
//Your implementation here
base.OnActionExecuting(filterContext);
}