在 .NET Core cshtml 文件中调用 @HttpContext.Session["XX"]
Calling @HttpContext.Session["XX"] in .NET Core cshtml file
我正在尝试将 .NET MVC 项目转换为 .NET Core。但是为此我收到如下错误。
之前它被指定为 <h6 class="chart-heading-cls">@HttpContext.Current.Session["XX"] Score Over Time</h6>
。我从中删除了 Current
关键字,因为它在 HttpContext
.
中不存在
你能帮忙解决这个问题吗?
使用以下语法在 Razor 页面中获取会话值
@using Microsoft.AspNetCore.Http;
@inject IHttpContextAccessor HttpContextAccessor
@{
string sessionvalue = HttpContextAccessor.HttpContext.Session.GetString("Sessionkey");
}
在 aspnet core 中,您必须使用 GetString 方法获取会话。
How sessions work in asp dotnet.core
所以正确的用法应该是:
@HttpContext.Session.GetString("XX")
但是你可以使用更好的方法,检查会话是否为空:
@(HttpContext.Session.GetString("XX")?? "" )
我正在尝试将 .NET MVC 项目转换为 .NET Core。但是为此我收到如下错误。
之前它被指定为 <h6 class="chart-heading-cls">@HttpContext.Current.Session["XX"] Score Over Time</h6>
。我从中删除了 Current
关键字,因为它在 HttpContext
.
你能帮忙解决这个问题吗?
使用以下语法在 Razor 页面中获取会话值
@using Microsoft.AspNetCore.Http;
@inject IHttpContextAccessor HttpContextAccessor
@{
string sessionvalue = HttpContextAccessor.HttpContext.Session.GetString("Sessionkey");
}
在 aspnet core 中,您必须使用 GetString 方法获取会话。
How sessions work in asp dotnet.core
所以正确的用法应该是:
@HttpContext.Session.GetString("XX")
但是你可以使用更好的方法,检查会话是否为空:
@(HttpContext.Session.GetString("XX")?? "" )