asp.net中的页面卸载事件

Posted

技术标签:

【中文标题】asp.net中的页面卸载事件【英文标题】:Page unload event in asp.net 【发布时间】:2010-01-22 14:28:21 【问题描述】:

是否可以在类似于 Page_Load 事件的代码中调用编写 Page_Unload 事件?我想在 Page Unload 上调用一个方法。我该如何实现?

【问题讨论】:

【参考方案1】:

AutoEventWireup 在页面上默认打开,您只需添加以 **Page_***event* 开头的方法并让 ASP.NET 为您连接到事件。

在 Unload 的情况下,方法签名是:

protected void Page_Unload(object sender, EventArgs e)

详情请见MSDN article。

【讨论】:

【参考方案2】:

请参阅ASP.NET page lifecycle 以帮助找到要覆盖的正确事件。这真的取决于你想做什么。但是,是的,有一个卸载事件。

    protected override void OnUnload(EventArgs e)
    
        base.OnUnload(e);

        // your code
    

但请记住(来自上面的链接):在卸载阶段,页面及其控件已被渲染,因此您无法对响应流进行进一步更改。如果您尝试调用诸如 Response.Write 方法之类的方法,页面将抛出异常。

【讨论】:

【参考方案3】:

有一个事件Page.Unload。那时页面已经以 html 呈现,并且无法修改 HTML。尽管如此,所有页面对象都可用。

【讨论】:

以上是关于asp.net中的页面卸载事件的主要内容,如果未能解决你的问题,请参考以下文章

如何避免在asp.net中的按钮单击事件后页面刷新

Asp.Net请求管道中的19个事件

asp.net mvc子页面怎么调用母版页的js事件

asp.net用的C#语言能不能做到点击按钮不刷新页面?

ASP.NET 如何防止页面的刷新

ASP.Net MVC - 啥替换事件以支持松散耦合?