【问题标题】: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>
    };
    

    这解决了我的问题,如果有任何建议欢迎您发表评论。

    谢谢

    【讨论】:

      猜你喜欢
      • 2011-12-29
      • 2011-11-25
      • 2012-04-08
      • 2015-06-29
      • 2011-10-23
      • 1970-01-01
      • 2015-07-21
      • 2018-05-11
      • 1970-01-01
      相关资源
      最近更新 更多