在页面卸载期间,此上下文中不提供响应

时间:2011-02-07 16:43:40

标签: asp.net

当我的asp.net aspx页面卸载时,我正在尝试检查当前会话是否已过期。我在Page_unlaod中有这个代码,我得到“响应在此上下文中不可用”错误。将此代码放在Page_unlaod中会出现什么问题?

protected void Page_Unload(object sender, EventArgs e)
    {
        if (Session["LoggedInUser"] == null)
        {
            Response.Redirect(Request.ApplicationPath.TrimEnd('/') + "/Login.aspx?r=" + Request.Url.ToString(), true);
        }
    }

页面在一个包含3个其他页面的框架中,所以当页面正在进行回发时,会有一个客户端代码,框架集中的页面2将100%可见,然后当页面被加盖并且文档已准备好它使自己在框架中100%可见。

我已经尝试将代码放在page_load中但是当会话有timedout时,页面加载永远不会再次执行。我试图将代码放在第2页的pageload中,但是这会导致一些有趣的行为和不需要的重定向。

1 个答案:

答案 0 :(得分:1)

在卸载过程中只有有限数量的功能可用,而且更多的是用于清理过程,而不是像这样的业务功能。响应是这里不起作用的功能之一。