asp.net - 会话 - 多个浏览器标签 - 不同的会议? [英] asp.net - session - multiple browser tabs - different sessions?

查看:120
本文介绍了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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆