asp.net - 会话 - 多个浏览器标签 - 不同的会议? [英] asp.net - session - multiple browser tabs - different sessions?
本文介绍了asp.net - 会话 - 多个浏览器标签 - 不同的会议?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我想保持每个浏览器选项卡中的会话状态。
I'd like to maintain a session state per browser tab.
这是简单的(甚至是不可能的),在ASP.NET办?
Is this easy (or even possible) to do in ASP.NET?
例如:用户点击按Ctrl-T在Firefox 5次,在每个标签访问该网站。我想每个选项卡,在服务器上拥有自己的会话状态
Example: A user hits Ctrl-T in firefox 5 times and visits the site in each tab. I'd like each tab to have its own session state on the server
推荐答案
要方便的多标签会话状态为一个用户不会搞乱的URL,请执行下列操作。
To facilitate multi-tab session states for one user without cluttering up the URL, do the following.
在表单加载功能,包括:
In your form load function, include:
If Not IsPostback Then
'Generate a new PageiD'
ViewState("_PageID") = (New Random()).Next().ToString()
End If
当您保存的东西您的会话状态,包括PAGEID:
When you save something to your Session State, include the PageID:
Session(ViewState("_PageID").ToString() & "CheckBoxes") = D
备注
- 与会话ID的一般,你不能相信恶意观众不会改变的SessionID / PAGEID。这仅是为了在所有用户都可以被信任的环境的有效解决方案。幸运的是,ViewState中确实比使用一个隐藏的输入字段提供了更多的保护。
- 您会直到ViewState是回发时恢复访问该PAGEID。因此,您将无法访问PAGEID在page_init()处理。
这篇关于asp.net - 会话 - 多个浏览器标签 - 不同的会议?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文