如何在asp.net的另一个选项卡中打开URL时更改会话

时间:2011-08-30 04:06:53

标签: asp.net session-state

我正在asp.net中开发一个Web应用程序。我在弹出窗口打开所有页面。当有人复制网址并将其粘贴到另一个标签页时,我想要使会话过期或更改会话值。我该如何实现它? 请帮帮我。

2 个答案:

答案 0 :(得分:1)

一种简单的方法是检查Request.UrlReferrer。如果用户副本粘贴URL,则Referrer将为空。

在使用之前你应该考虑几点:

  1. 为可以直接输入的任何页面提供例外 用户。对于例如登录页面或可以加入书签的页面
  2. 我相信可以从Javascript打开一个pop,没有推荐人。确保您的现有代码未使用此方法打开弹出窗口。
  3. 有关确定用户是否已打开新标签的通用方法,请参阅here

答案 1 :(得分:0)

我已使用此

解决了这个问题
   string referer = Request.ServerVariables["HTTP_REFERER"];
        if (string.IsNullOrEmpty(referer))
        {
            Response.Redirect("../Index.htm");
        }