各位,我正在创建一个 VB.NET 应用程序,这是我第一次使用 session 变量。
我想要做的是将 session 变量通过网址从一个页面(first.aspx)传递到另一个页面(second.aspx)。
这是我想做的事情的示例:
在first.aspx.vb页面中,我声明了一个 session 变量并为其分配了一个值
Session("example") = "example123"
然后我将此 session 变量传递到 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 中 session 变量的值并执行各种操作。
这可能吗?
如果没有,还有另一种方法
感谢您的帮助:)
最佳答案
要从 JavaScript 设置 session 变量,可以按如下方式完成:
在首页创建隐藏字段控件
<asp:HiddenField ID="HiddenField1" runat="server" />
用于设置隐藏字段值的客户端脚本
function setVal(value) { // if using jQuery $("#<%= HiddenField1.ClientID%>").val(value); // if using javascript var hf = document.getElementById("<%= HiddenField1.ClientID%>"); hf.value = value; }
创建按钮或链接以导航到第二页
<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>
在第一页代码后面,创建
NavigateToSecondPage
子函数来处理按钮/链接的 onclick 事件Protected Sub NavigateToSecondPage(sender As Object, e As EventArgs) Session("example") = HiddenField1.Value Response.Redirect("SecondPage.aspx") End Sub
因此,在第二页中,您可以访问 Session("example") 值,并且它将具有由第一页中的客户端脚本设置的新值。
关于javascript - 将 session 变量传递到另一个页面 Javascript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16315812/