我正在编写一个ASP.NET核心MVC 6应用程序。
在控制器中,我设置了一个会话变量:
HttpContext.Session.SetString("PrimaryNavigation", "First");我需要在_Layout.cshtml中检索这个值
<script language="javascript" type="text/javascript">
$(document).ready(function () {
alert('<%= Session("PrimaryNavigation")%>');
});
</script>但警报显示
'<%= Session("PrimaryNavigation")%>'而不是其价值。
在所有使用Javascript的应用程序中,我都运行了它。但似乎与jQuery和ASP.NET核心不同。
我错过了什么?
谢谢
发布于 2022-09-29 02:52:46
试着在下面:
1.在IHttpContextAccessor和session中注册Program.cs
builder.Services.AddSession();
builder.Services.AddHttpContextAccessor();
...
app.UseSession();2.在_Layout.cshtml中,注入IHttpContextAccessor实现并使用它获取HttpContext和Session对象。
@using Microsoft.AspNetCore.Http
@inject IHttpContextAccessor HttpContextAccessor
<script language="javascript" type="text/javascript">
$(document).ready(function () {
alert('@HttpContextAccessor.HttpContext.Session.GetString("PrimaryNavigation")');
});
</script>3.结果:

https://stackoverflow.com/questions/73884640
复制相似问题