当我们转到另一个页面时运行的事件是什么。是卸货吗?
Protected Sub Edit_Unload(sender As Object, e As EventArgs) Handles Me.Unload
End Sub
答案 0 :(得分:3)
Unload
发生在请求 * 的末尾。它与导航到其他页面没有任何关系。在单个请求的整个过程中,页面被“加载”和“卸载”;否则它出现的唯一原因就是Web Forms的幕后工作所带来的魔力。
如果要查看这是新加载还是回发,则Page类具有IsPostBack
属性,当页面中的某些内容触发回发到同一页面时,该属性为true。如果它是假的,那么这是一个新的请求,应该得到适当的处理。
除此之外,我不知道何时有人专门去另一个页面(而不仅仅是刷新当前页面),除了跟踪访问的最后一页会议。
*(它被定义为页面生命周期中的最后一个事件,但如果请求因任何原因提前终止,则可能不会触发。重定向和传输是主要示例。)
答案 1 :(得分:2)
Unload
是ASP.NET Page Lifecycle中的最后一个事件。
来自docs:
为每个控件引发,然后为页面引发。在控件中,使用它 事件,以进行特定控件的最终清理,例如关闭 特定于控件的数据库连接。对于页面本身,请使用此选项 事件做最后的清理工作,比如关闭打开的文件和 数据库连接,或完成日志记录或其他 特定于请求的任务。
但是,当重定向到另一个页面时,可能不会调用此方法。
答案 2 :(得分:1)
此链接可能对您有用:Page Life Cycle Overview。虽然您不能依赖于运行的事件,但这是一个很好的指南,可以显示它们运行的顺序(以及何时)。
答案 3 :(得分:0)
如果您希望在页面离开时捕获事件,可以使用javascript调用服务器方法。虽然这有效,但似乎你可以暂停服务器代码中的进程。看看我开始的最后一个帖子:
preventing page from being redirected
在其中,我发布了一个示例,说明如何使用javascript来检测页面即将离开并在此之前调用服务器方法。