Как вы получаете доступ к HttpContext из _Layout.cshtml
Проект: веб-приложение ASP.NET Core 7 MVC
Я добавил объект вHttpContext.Items
коллекции из контроллера, и я пытаюсь получить доступ к объекту, чтобы скрыть некоторые параметры меню в_Layout.cshtml
, но я получаю сообщение об ошибке
Требуется ссылка на объект
Как установить ссылку?
@if (HttpContext.Items["CurrentUser"] == null) { }
2 ответа
Кажется, вы вызываете HttpContext как статический, например:
вы можете получить экземпляр HttpContext в представлении, как показано ниже:
this.ViewContext.HttpContext
хотя вы можете получить httpcontext, это также не сработает для вашего требования.
Вам лучше попробовать с ViewData/ViewBag
В контроллере:
ViewData["Key"]=somevalue
Ввиду:
@if(ViewData["Key"]==null){....}
Доступ кRazorPage
Context
свойство:
@if (Context.Items["CurrentUser"] == null) { }