2

我有一个 asp.net 网页,在会话到期之前有 60 秒的空闲时间窗口。有没有办法(通过 asp 或 c# 代码)在 Session_End 事件中关闭浏览器- 或者最好只关闭选项卡?

我已经看到很多关于 SO 的帖子想要做相反的事情(在浏览器关闭时结束会话),但不是我需要的。

4

2 回答 2

5

您无法关闭浏览器,但可以通过执行以下操作重定向到“会话已过期”页面:

    protected override void OnPreRender(EventArgs e)
    {
        base.OnPreRender(e);
        this.PageHead.Controls.Add(new LiteralControl(
            string.Format("<meta http-equiv='refresh' content='{0};url={1}'>", 
            Session.Timeout * 60, "SessionExpired.aspx")));
    }
于 2013-03-27T13:53:53.833 回答
3

你可以看看这个例子 - Alert Session Time out in ASP.NET

它基本上在超时之前警告用户(例如,美国银行网站)。一旦达到时间限制,将用户重定向到注销页面。

仅供参考:如果您在没有警告的情况下重定向或关闭页面,用户会生气。

于 2013-03-27T13:54:38.433 回答