Как вы получаете доступ к 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) { }

Другие вопросы по тегам