超时时针对不同页面的不同自动重定向

时间:2016-02-09 15:04:23

标签: c# webforms timeout

我们使用超时和自动直接,它们运行良好。我只是想知道是否可以在不更改配置文件的情况下更改自动重定向页面。

例如,当我在页面X时,我希望它在超时发生时自动重定向到页面Y.所有其他页面通常都会进行登录页面重定向。

1 个答案:

答案 0 :(得分:0)

StackOverflow中有多篇文章甚至是线程来解释超时时的重定向。

特别应该回答你的问题的是:

Redirect to login page after session timeout

在这个答案中,它会重定向到Login.aspx,但您可以检查您感兴趣的页面并将其指向另一个页面。

以下是该回复中提供的代码:

protected void Page_Init(object sender, EventArgs e)
{
    if (Context.Session != null)
    {
        if (Session.IsNewSession)
        {
            HttpCookie newSessionIdCookie = Request.Cookies["ASP.NET_SessionId"];
            if (newSessionIdCookie != null)
            {
                string newSessionIdCookieValue = newSessionIdCookie.Value;
                if (newSessionIdCookieValue != string.Empty)
                {
                    // This means Session was timed Out and New Session was started
                    Response.Redirect("Login.aspx");
                }
            }
        }
    }
}