繁体   English   中英

如何从 _Layout.cshtml 访问 HttpContext

[英]How do you access HttpContext from within _Layout.cshtml

项目:ASP.NET Core 7 MVC web 应用

我已将 object 添加到 controller 中的HttpContext.Items集合中,我正在尝试访问 object 以隐藏_Layout.cshtml中的一些菜单选项,但出现错误

Object 需要参考

如何设置参考?

@if (HttpContext.Items["CurrentUser"] == null) { }

您似乎将 HttpContext 称为 static,例如:

在此处输入图像描述

您可以在 View 中获取 HttpContext 的实例,如下所示:

this.ViewContext.HttpContext

虽然您可以获得 httpcontext,但它也不能满足您的要求。

您最好尝试使用 ViewData/ViewBag

在 Controller:

ViewData["Key"]=somevalue

在视图中:

@if(ViewData["Key"]==null){....}

访问RazorPage Context属性:

@if (Context.Items["CurrentUser"] == null) { }

我注入了引用@inject Microsoft.AspNetCore.Http.IHttpContextAccessor HttpContextAccessor

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM