【问题标题】:Javascript and session variablesJavascript 和会话变量
【发布时间】:2010-09-12 21:28:08
【问题描述】:

我有一个在其中存储事件的数据库和一个带有日历对象的页面。在渲染日期时,它会查看月份事件,如果与当前日期匹配,它会创建一个链接按钮来表示日历上当天的事件并将其添加到该单元格。我向链接按钮添加了一些 javascript 以将 window.location 更改为页面以查看在查询字符串中传递 EventID 的事件详细信息(我尝试设置新创建的链接按钮的 postbackurl,但它不会导致回发......不走运)。我需要设置一个会话变量,即。 Session("EditMode") = "Edit" 那么新页面会知道它是获取现有事件信息而不是准备创建新事件吗?有什么建议吗?

【问题讨论】:

  • 您要存储哪些事件?另外,你能发布一些代码吗?

标签: javascript session


【解决方案1】:

您的会话变量由服务器控制, JS 运行客户端,因此无法直接修改 var。

您需要使用 POST 或 GET 发出服务器请求并隐藏 iframes 或 XMLHTTPRequest() 调用将数据从 JS 发送到 服务器,然后让您的服务器端代码处理变量。

添加另一个查询字符串变量,该页面可用于触发现有与新的。

【讨论】:

    【解决方案2】:

    添加另一个查询字符串变量,该页面可用于触发现有与新的。

    【讨论】:

      【解决方案3】:

      如果你使用类似 Struts2 的东西,你可以在你的 jsp 中有一个隐藏变量

      <s:hidden id="EditModeId" value="%{#session.EditMode}"/> 
      

      在 javascript 中只需访问这个变量

      alert(document.getElementById('EditModeId').value);
      

      【讨论】:

        【解决方案4】:

        您肯定需要向目标页面添加一个变量。但我认为你正在做一个弹出场景,所以你应该能够创建一个 JavaScript 函数 OpenWindow() 并在用户单击链接时触发它。

        <script>
        function OpenWindow(eventId, editMode)
        {
            var window = window.open("popup.aspx?eventId=" + eventId + "&editMode=" + editMode);
        }
        </script>
        

        在服务器端,您需要构建对 OpenWindow 函数的调用。例如:

        onclick="OpenWindow(eventId=" + row["eventId"].ToString() + "&editMode=" + editMode.ToString() + ");"
        

        换句话说,准备好服务器端的所有内容,以设置您的 javascript 以将所有变量发布到新页面。希望这会有所帮助。

        【讨论】:

          【解决方案5】:
          var page1 = document.getElementById("textbox").value; 
          sessionStorage.setItem("page1content", page1);
          

          在其他页面中将此值用作会话变量

          document.getElementById("textbox2").value=sessionStorage.getItem("page1content");
          

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 2017-07-08
            • 2011-12-29
            • 2012-05-18
            • 2012-12-12
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多