【问题标题】:Pass Session Variable to another page Javascript将会话变量传递到另一个页面 Javascript
【发布时间】:2013-05-01 09:36:09
【问题描述】:

伙计们,我正在创建一个 VB.NET 应用程序,这是我第一次使用会话变量。

我想要做的是通过url将会话变量从一个页面(first.aspx)传递到另一个页面(second.aspx)。

这是我想做的一个例子:

在 first.aspx.vb 页面中,我声明了一个会话变量并为其赋值

Session("example") = "example123"

然后我将这个会话变量传递给first.aspx页面

Response.Write(Session("example"))

并通过 javascript 读取变量的值

<script type= text/javascript>
    var SessionVar = '<%=Session("example")%>)';
</script>

现在,我要做的是更改变量的值(例如将其设置为example456),然后将变量传递给second.aspx [例如window.open()] 这样 url 不包含变量的值,而是包含变量的名称:

url/second.aspx?value=example 不是 url/second.aspx?value=example456

事实上我不希望用户读取变量的值。

最后我必须通过Request.QueryString("value")读取second.aspx.vb中会话变量的值,并进行各种操作。

有可能吗?

如果没有,还有另一种方法可以做到这一点

感谢您的帮助:)

【问题讨论】:

    标签: javascript asp.net vb.net session-variables


    【解决方案1】:

    从 javascript 设置会话变量可以如下完成:

    1. 在第一页创建隐藏字段控件

      <asp:HiddenField ID="HiddenField1" runat="server" />
      
    2. 设置隐藏字段值的客户端脚本

      function setVal(value) {
          // if using jQuery
          $("#<%= HiddenField1.ClientID%>").val(value);
      
          // if using javascript
          var hf = document.getElementById("<%= HiddenField1.ClientID%>");
          hf.value = value;
      }
      
    3. 创建一个按钮或链接以导航到第二页

      <asp:Button ID="Button1" runat="server" Text="Go to second page" OnClick="NavigateToSecondPage" /> 
            or 
      <asp:LinkButton ID="LinkButton1" runat="server" OnClick="NavigateToSecondPage">Go to second page</asp:LinkButton>
      
    4. 在后面的第一页代码中,创建NavigateToSecondPage子来处理按钮/链接的onclick事件

      Protected Sub NavigateToSecondPage(sender As Object, e As EventArgs)
          Session("example") = HiddenField1.Value
          Response.Redirect("SecondPage.aspx")
      End Sub
      

    因此,在您的第二页中,您可以访问 Session("example") 值,它将具有由客户端脚本在第一页中设置的新值。

    【讨论】:

      【解决方案2】:

      以这种方式调用会话变量是因为它们在同一会话中自动从一个页面传递到另一个页面,因此您应该随时修改变量的值,然后再次访问它在第二页中找到值。你不需要明确地传递任何东西。

      【讨论】:

      • 所以,如果我在一个页面中更改变量的值,这个新值将从我使用该变量的所有其他页面中读取?
      • 是的,如果您正确实施了会话。在 Google 上查看,有很多关于如何做到这一点的材料。
      • 好的,但我不明白的是如何将会话变量的值设置为 Javascript 变量的值。再次感谢
      • 您可以将 js 值分配给隐藏字段,而不是在后面的代码中,检索隐藏字段值并将其分配给会话变量。
      • 如何为隐藏字段赋值?但是,我要做的是更改第一页中会话变量的值(通过使用 javascript),然后在第二页中读取该值以进行各种操作。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-03-28
      相关资源
      最近更新 更多