###前提・実現したいこと
現在、ASP.NET Coreを使用してアプリケーションを作成しております。
これまでASP.NET WebFormの開発経験はありますが、MVCは完全に未経験なので質問させてください。
_Layout.cshtmlに共通で使用するヘッダーを定義しております。
そのヘッダーにはログインしているユーザー情報やメニューを表示しており、
HomeControllerでCookieからユーザーIDを取得し、Modelに設定しています。
■_Layout.cshtml
using WebApplication1.Models.Base; @model BaseViewModel (中略) <body> <div class="navbar navbar-inverse navbar-fixed-top"> <div class="container"> @if (Model.IsLogin) { <li>@Model.UserName</li> } else { <li><a asp-controller="Account" asp-action="Login">ログイン</a></li> } </div> </div> </body>
■HomeController.cs
[HttpGet] public IActionResult Index(BaseViewModel model) { // CookieからIDを取得しBaseViewModelに氏名を設定する処理 return View(model); }
HomeのIndexを表示した際はログイン情報が正しく表示されますが、他のControllerに移動した場合は
BaseViewModelの内容が消えてしまいます。※他のControllerのModelは全てBaseViewModelを継承しています。
そこで質問したいのは、_Layout.cshtmlに定義した共通ヘッダーに常にログイン情報を表示するにはどういった
手法を取ればよろしいでしょうか?
(WebFormだとSessionに値を設定しておいてそれを参照するようにしておりましたが・・・)
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2016/08/04 09:27