将AutoEventWireUp
设置为false,我通常会设置Page_Finalize
,如下所示:
Include(Self.LoadComplete, Self.Page_Finalize); //Delphi
然而, LoadComplete
似乎在MasterPage上不可用,我的Page_Finalize
显然没有被调用。
我打算如何在母版页中释放对象?
感谢。
答案 0 :(得分:5)
LoadComplete
方法只是不是 MasterPage
的成员,而是Page
的成员。
这有几个原因,包括页面生命周期的 orchestrator 本身为Page
类。
它有三种与事件相关的方法:PreLoad
,Load
,LoadComplete
。在Load
期间,会触发子控件的Load
事件。
当母版页包含(通过 layout )页面内容时,页面包含MasterPage
对象,因为Page
是IHttpHandler
响应ASP.NET中的HTTP请求。
简单地说,你不能覆盖(我不知道Delphi,是某种覆盖?)OnLoadComplete
MasterPage
因为它没有定义。仅OnLoad
答案 1 :(得分:1)
有点晚了,但是从主页面向Page.LoadComplete事件添加方法似乎有效。
在母版页中:
protected void Page_Load(object sender, EventArgs e) {
Page.LoadComplete += Page_LoadComplete;
}
protected void Page_LoadComplete(object sender, EventArgs e) {
// do stuff on LoadComplete in the master page
}