我想维护每个浏览器标签的会话状态。
在ASP.NET中这样做很简单(甚至可能)吗?
示例:用户在firefox中点击Ctrl-T 5次,并访问每个选项卡中的网站。我希望每个选项卡在服务器上拥有自己的会话状态
解决方法
为了方便一个用户的多标签会话状态,而不会使URL混乱,请执行以下操作。
If Not IsPostback Then 'Generate a new PageiD' ViewState("_PageID") = (New Random()).Next().ToString() End If
Session(ViewState("_PageID").ToString() & "CheckBoxes") = D
笔记:
>与会话ID通常一样,您不能相信恶意的观众不会更改SessionID / PageID。这只是一个可以让所有用户信任的环境的有效解决方案。幸运的是,ViewState确实提供比使用隐藏的输入字段更多的保护。>在PostBack上恢复ViewState之前,您将无法访问PageID。因此,您将无法访问page_init()处理程序中的PageID。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。