我无法在javascript中更新之后从后面的代码中获取会话变量

时间:2014-03-05 14:07:49

标签: javascript asp.net session

在我的主页中,我使用javascript从客户端更新了会话变量,如下所示:

function test(){
  var myvar = "Hi All"
  '<% Session("temp") = "' + myvar + '"  %>';
  alert('<%=Session("temp") %>');
 }

警报显示更新的值,这是正确的“全部”,但是当尝试在其他页面中的代码中捕获会话变量时,我得到变量“myvar”的名称而不是此变量的值:< / p>

MessageBox.Show(HttpContext.Current.Session("temp"), "mymessage")

此消息框显示:'+ mayvar +'

关于这个问题的任何想法??

提前谢谢

2 个答案:

答案 0 :(得分:2)

您正在将客户端脚本(javascript)与服务器端脚本(ASP.NET)混合使用。 这不起作用。

注意:您的第一个代码请勿更新会话变量,其值为客户端var&#34; myvar&#34;。 以下是客户端生成的代码:

function test() {
    var myvar = "Hi All"
    '';
    alert('' + myvar + '');
}

如您所见,警报显示本地变量&#34; myvar&#34;的内容,而不是会话的内容。 为了达到结果,我建议你使用ajax。 例: jquery setting session in asp.net - &GT;回答不。 3

答案 1 :(得分:1)

在发送到服务器端之前,无法在JavaScript端分配会话变量。

这里有一个很好的解决方案:http://www.codeproject.com/Questions/341573/JavaScript-How-to-Set-values-to-Session-in-Javascr

最高投票的答案可以帮助你!