【问题标题】:Re-direct page when session is lost?会话丢失时重定向页面?
【发布时间】:2009-12-04 12:38:39
【问题描述】:

我正在使用 ASP.NET。

如果我的会话超时,我想将页面重定向到另一个 URL:说主页....

在我的页面上,我使用了一个使用 Session 变量的 GridView。如果会话变量时间到期(当前为 60 分钟)并且用户单击 GridView 中的一行,我想将他/她重定向到我网站的主页。可以这样做吗,我该怎么做?

提前致谢!

【问题讨论】:

  • 你不能只检查会话变量是否存在并调用 response.redirect 到主页吗?

标签: c# asp.net vb.net session


【解决方案1】:

在 Session 集合中存储一些值。然后在下一个用户请求时检查它是否仍然存在。如果没有,请重定向。

// 放置一些会话标记

Session["IsOldSession"] = true;

// 以后……

if (Session["IsOldSession"] == null)
    Response.Redirect ("~/OMG.aspx");

【讨论】:

  • 输入我的答案,看到这个就在那里! :D
  • 你当然是对的,愚蠢的我。当用户单击 GridView SelectedIndexChanged 事件时,我将添加此代码!
【解决方案2】:

或者,您可以通过使用Session.Contents.Count 来简单地依赖会话集合中的项目数。我更喜欢这条路线而不是实例化一个额外的项目以保留在会话状态集合中。

If Session.Contents.Count = 0 Then
     Response.Redirect("~/default.aspx")
End If

【讨论】:

    【解决方案3】:

    或者只是在您的 Page_Init() 中执行此操作

    if (Session.IsNewSession)
    {
        Response.Redirect("homepage.aspx");
    }
    

    【讨论】:

      猜你喜欢
      • 2020-12-14
      • 1970-01-01
      • 2017-09-11
      • 1970-01-01
      • 2011-03-02
      • 1970-01-01
      • 2018-08-22
      • 1970-01-01
      • 2015-06-23
      相关资源
      最近更新 更多