【问题标题】:Access Session Variable in javascript在 javascript 中访问会话变量
【发布时间】:2022-01-13 05:12:43
【问题描述】:
我需要在 javascript 中访问会话变量。我尝试了所有示例,但没有一个有效。我不知道我做错了什么。
我有以下几点:
成功登录后,在我的帐户控制器中,我将会话变量设置为这样。
HttpContext.Session.Add("IsShowStartPopUp", true);
在我的登陆视图中,我尝试像这样访问会话变量:
<script type="text/javascript">
var IsShowStartPopUp = '<%= Session["IsShowStartPopUp"] %>';
</script>
我的结果是:
''
我错过了什么吗?
谢谢。
【问题讨论】:
标签:
javascript
model-view-controller
【解决方案1】:
在您的代码中,您不应在尝试访问动态值时使用争用 '' 。否则,它会被视为一个字符串。
您可以使用 sessionStorage。
例子:
<script>
sessionStorage.setItem('mysession','value');
alert(sessionStorage.getItem('mysession'));
</script>
【解决方案2】:
我找到了这个答案:
不,会话状态是服务器端的。
然后我使用以下内容:
我还是在用户登录时在控制器中设置会话变量
HttpContext.Session.Add("IsShowStartPopUp", true);
然后我在 MVC 视图中创建了以下内容:
@if (HttpContext.Current.Session["IsShowStartPopUp"].ToString() == true)
{
HttpContext.Current.Session["IsShowStartPopUp"] = false;
<script type="text/javascript">
window.onload = function () {ShowPopup();}
</script>
};
这解决了我的问题,如果有任何建议欢迎您发表评论。
谢谢