L’evento page load è eseguito 2 volte

Convertire un progetto ASP .NET dalla versione 1.1 ad una versione successiva del .NET Framework nasconde un inconveniente a cui occorre porre rimedio manualmente.

L’inconveniente è dovuto alla introduzione delle partial class a partire dalla versione 2.0 del .NET Framework, in contrapposizione al codice generato dal designer nella versione 1.1.

Questo fa si che importando il codice sorgente nella nuova versione utilizzata ci si ritrovi, ad esempio, con un event handler come questo nel metodo InitializeComponent

 private void InitializeComponent() 
 { 
     this.Load += new System.EventHandler(this.Page_Load); 
 }

Questo innocente codice derivante dalla conversione fa in modo che l’evento Page Load sia generato 2 volte, una volta dall’handler presente nella partial class ed una volta da quello presente nel metodo InitalizeComponent.

Per eliminare questo fastidioso inconveniente è sufficiente rimuovere l’handler presente nel metodo InitializeComponent

Leave a Reply

Your email address will not be published. Required fields are marked *