在ASP.NET应用程序中混合会话

在ASP.NET应用程序中混合会话,asp.net,session,session-variables,asp.net-session,Asp.net,Session,Session Variables,Asp.net Session,在我的应用程序中,我面临着会话间信息混合的问题。问题 当用户加载页面并填充会话(会话[“Whatever”])时发生。。。到现在为止,一直都还不错。例如,当同一用户在另一个浏览器选项卡上打开同一屏幕时,问题开始出现。他为同一个会话携带其他信息,该会话在它打开的第一个屏幕上使用。(这里是一个小例子) 受保护的无效页面加载(对象发送方,事件参数e) { 如果(!Page.IsPostBack) { if(Request.QueryString[“id”!=null) { if(Request.Que

在我的应用程序中,我面临着会话间信息混合的问题。问题 当用户加载页面并填充会话(会话[“Whatever”])时发生。。。到现在为止,一直都还不错。例如,当同一用户在另一个浏览器选项卡上打开同一屏幕时,问题开始出现。他为同一个会话携带其他信息,该会话在它打开的第一个屏幕上使用。(这里是一个小例子)

受保护的无效页面加载(对象发送方,事件参数e)
{
如果(!Page.IsPostBack)
{
if(Request.QueryString[“id”!=null)
{
if(Request.QueryString[“id”!=“”)

Session[“Any”]=Request.QueryString[“id”].ToString();//没有唯一标识每个选项卡的简单方法。但是我建议您使用ViewState而不是Session来处理特定于某个网页实例的内容。请查看此内容,感谢您的回复。您能给我一个使用ViewState的示例吗?这只是通过更改Session ViewState-Hugs来实现的
protected void Page_Load(object sender, EventArgs e)
{
    if (!Page.IsPostBack)
    {
         if (Request.QueryString["id"] != null)
         {
             if (Request.QueryString["id"] != "")
                 Session["Any"] = Request.QueryString["id"].ToString(); //<-Here it changes the session for the first tab
         }
    }
}