在我的主页中,我使用 JavaScript 从客户端更新了 session 变量,如下所示:
function test(){
var myvar = "Hi All"
'<% Session("temp") = "' + myvar + '" %>';
alert('<%=Session("temp") %>');
}
警报显示了正确的更新值“大家好”,但是当 try catch 其他页面后面的代码中的 session 变量时,我得到了变量“myvar”的名称而不是该变量的值:
MessageBox.Show(HttpContext.Current.Session("temp"), "mymessage")
此消息框显示:'+ mayvar +'
关于这个问题有什么想法吗?
提前谢谢
最佳答案
您正在将客户端脚本 (javascript) 与服务器端脚本 (ASP.NET) 混合在一起。 这是行不通的。
注意:您的第一个代码不要使用客户端变量“myvar”的值更新 session 变量。 这是在客户端生成的代码:
function test() {
var myvar = "Hi All"
'';
alert('' + myvar + '');
}
如您所见,警报显示了局部变量“myvar”的内容,而不是 session 的内容。 为了达到这个效果我建议你使用ajax。 例子: jquery setting session in asp.net -> 回答否。 3
关于javascript - 在 javascript 中更新后,我无法从后面的代码中获取 session 变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22200076/