OnInit afvikles to gange
Jeg har haft et problem med at min Page_Load i min ASP.NET 3.5 app blev afviklet to gange. Jeg har forsøgt mig med følgende.Fjernet AutoEventWireup="true" fra alle masterpages, pages og usercontrols.
Tilføjet AutoEventWireup="false" til <pages> i web.config.
Resultatet heraf er at ingen hverken Page_Load, Page_Init, Page_PreRender etc. er hooked up. Så langt så godt.
Så har jeg tilføjet følgende kode til een tilfældig usercontrol for at teste event wireup:
override protected void OnInit(EventArgs e)
{
base.OnInit(e);
InitializeComponent();
}
private void InitializeComponent()
{
this.Load += new System.EventHandler(this.Page_Load);
}
Efter ovenstående kode er indsat i min usercontrol afvikles Page_Load nu to gange igen. OnInit kaldes to gange, hvilket kalder InitializeComponent to gange hvilket tilføjer Page_Load til this.Load to gange.
Min usercontrol er kun tilføjet een gange på siden. Mine sider benytter sig af masterpages. Både masterpages, pages og usercontrols nedarver fra mine egne klasser hhv. BaseMaster, BasePage og BaseControl.
Siden loades kun een gang jvf. Firebug, og jeg har forsøgt at indsætte breakpoints ved samtlige Response.Redirect i min app, men ingen af dem bliver ramt.
Hvad kan skyldes at OnInit afvikles to gange når jeg har AutoEventWireup="false" for hele min applikation?