在我的主页中,我使用javascript从客户端更新了会话变量,如下所示:
function test(){
var myvar = "Hi All"
'<% Session("temp") = "' + myvar + '" %>';
alert('<%=Session("temp") %>');
}
警报显示更新的值,这是正确的“全部”,但是当尝试在其他页面中的代码中捕获会话变量时,我得到变量“myvar”的名称而不是此变量的值:< / p>
MessageBox.Show(HttpContext.Current.Session("temp"), "mymessage")
此消息框显示:'+ mayvar +'
关于这个问题的任何想法??
提前谢谢
答案 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
最高投票的答案可以帮助你!