gpt4 book ai didi

c# - session 在 javascript 函数调用后丢失其状态

转载 作者:行者123 更新时间:2023-11-30 13:21:52 25 4
gpt4 key购买 nike

我们正在使用 Sharepoint 2007我们在页面加载时初始化 session 变量我们有一个 javascript 函数,如下所述

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

但是在调用这个之后我们失去了 session 值(value)。如果我们删除 __doPostBack('btnCaseSearch', 'Click');然后每次页面加载但 session 没有失去其值(value)时都会显示警报。如何保持 session 请帮助或建议一些替代 _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 函数在那个时候被调用时, session 正在失去它的状态,但是如果 backclick() 没有被调用,那么代码就可以正常工作

谢谢

最佳答案

突然想到的事情:

We initialising the session variable on page load

此页面加载服务器端吗?

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

session 将失去其状态的唯一方法是:

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

检查这两个,如果您的问题没有解决,请发布您发现的内容。

关于c# - session 在 javascript 函数调用后丢失其状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9991902/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com