javascript函数调用后,会话失去状态

Session losing its state after javascript function call

本文关键字:失去 状态 会话 函数调用 javascript      更新时间:2023-09-26

我们使用的是Sharepoint 2007我们在页面加载时初始化会话变量我们有一个如下所述的javascript函数

function backclick()
{
 __doPostBack('btnCaseSearch', 'Click'); 
alert('Select the Search Criteria.');
}

但在调用这个之后,我们正在失去会话值。如果我们删除__doPostBack('tnCaseSearch','Click');每当页面加载,但会话并没有丢失其值时,就会显示警报。如何维护会话请帮助或建议_doPostBack()的一些替代方案

场景是这样的以下javascript函数

function backclick()
{
 __doPostBack('btnCaseSearch', 'Click'); 
alert(result not found.');
}
function check()
{
var btn ="<%=Session["search"]%>";
if(btn == "true")
{
do something
}
else
{
else part
}

低于服务器端代码

Page_Load()
{
//initialise session variable
session["search"] = "true";
}
btnSearch_click()
{
 if(result not found)
{
this.Page.ClientScript.RegisterStartupScript(this.GetType(),"page_index_script1", "backclick();", true);
}
}

因此,当backclick()调用javascript函数时,会话正在失去状态,但如果没有调用backclick

感谢

突然向我袭来的东西:

我们在页面加载上初始化会话变量

此页面是否加载服务器端

每次_doPostBack都会导致pageLoad执行,所以我相信这就是覆盖会话变量的地方。

会话释放状态的唯一方法是:

  • 如果它被覆盖或删除(使用断点检查您没有设置两次!)
  • 浏览器不会在后续请求时交出cookie

检查这两项,如果你的问题没有得到解决,就公布你的发现。