【发布时间】:2023-04-11 04:43:01
【问题描述】:
是否可以在不同选项卡中为同一页面创建不同的会话?假设我在一个标签中有这个 url https://www.test.com/test.aspx?id=123 和另一个标签有 https://www.test.com/test.aspx?id=124。每个都为其各自的 id 加载数据。如果我在第一个选项卡中执行某些操作以在 Session 中保存值,然后对第二个选项卡执行相同操作,如果我切换到第一个选项卡并进行 PostBack(例如调用保存信息的事件),则 Session 值从第二个选项卡将保存在第一个。我怎样才能避免这种情况?
【问题讨论】:
-
除非您对会话管理方式进行一些自定义,否则这是不可能的。
-
@ChetanRanpariya 你能提供更多关于这种定制的信息吗?
-
自定义需要为每个打开的新浏览器选项卡创建唯一的会话密钥。为此,浏览器需要向服务器发送一些信息,以便服务器可以为特定的浏览器选项卡使用适当的 sessionKey。整个方法将要求您编写服务器代码 (C#) 和客户端代码 (javascript),并且在实现此自定义时您会遇到许多其他用例。我建议重新评估您的设计,看看您是否可以避免使用会话...
-
不是将其保存在 Session 变量中,也许 HiddenField 会起作用?检查元素时是否可以隐藏 HiddenField 中的值以不显示它(F12)?将其保存在会话中的原因是从浏览器检查时从 HiddenField 中显示该值。