バックグラウンド:
私はMVCが初めてで、やり方を学んでいます。
私がやろうとしていること:
すべてのアクションでユーザー データを利用できるようにしようとしています。
どのように私はそれを達成しています:
これを実現するには、 OnActionExecuting関数でユーザー データを読み込みます。
私が遭遇した問題:
ユーザー データを保存する場所と、後で (アクション中に) データを取得する方法がわかりません。
現在のコード:
ここでは、現在のユーザーをロードしています。
protected override void OnActionExecuting(ActionExecutingContext ctx) {
base.OnActionExecuting(ctx);
UserAccount user = null;
using (UsersContext db = new UsersContext()) {
user = db.UserProfiles.FirstOrDefault(u => u.userName.ToLower() == User.Identity.Name.ToLower());
}
}
これらの場所で入手するにはどうすればよいですか?
public ActionResult Default() {
ViewBag.Message = user.userName; // ????????????
return View();
}
考えられる解決策:
- パラメータに保存するだけです。
- ユーザー HttpContext (これがどのように機能するかわかりません。助けてください)。
- ユーザー ControllerContext (これがどのように機能するかわかりません。助けてください)。
- ビューステート?
- ビューバッグ?
- キャッシュ?
- 他のタイプの MVC マジック