controllare rapidamente quale parte del ciclo di vita pagina un controllo è in

StackOverflow https://stackoverflow.com/questions/1971993

  •  21-09-2019
  •  | 
  •  

Domanda

C'è un modo per controllare quali eventi hanno sparato durante la pagina ASP.NET WebForms / ciclo di vita del controllo?

So che posso aggiungere manualmente i gestori per ogni evento, ma che sembra un po '... inefficiente.

C'è un visualizzatore, o di una proprietà che posso controllare che mi dirà se questi eventi hanno sparato?

Modifica Il motivo che voglio sapere è che sto sovrascrivendo la proprietà ViewState di un controllo personalizzato, e il ViewState scompare ad un certo punto, e mi piacerebbe sapere a che punto del ciclo di vita pagina di esso viene sovrascritto.

È stato utile?

Soluzione 2

Ancora una volta, sto rispondendo alla mia domanda.

Quello che volevo fare era quello di determinare quali eventi aveva sparato nel ciclo di vita della pagina.

Questo è in realtà piuttosto banale: attivare l'analisi nel web.config, e poi andare a ~ / Trace.axd per vedere cosa aveva sparato

.

Altri suggerimenti

Il modo eventi lavorano in .NET è che si registra interesse per loro, e il quadro sarà chiamare il tuo gestore quando vengono sparati. Io non sono a conoscenza di qualsiasi visualizzatore o proprietà che voi dove siete nel ciclo di vita dice, altro che sapere dove ti trovi.

Su MSDN, pagina ASP.NET ciclo di vita Panoramica dà una buona descrizione di ciò che accade quando, e come tutto ciò che fai nella pagina o su un controllo sarà come parte del gestore di uno di quegli eventi, si dovrebbe essere in grado di capire dove il processo si è.


Modifica per aggiungere

Il SaveStateComplete evento è sollevata una volta tutti i controlli, ecc hanno terminato salvare le loro dettagli per il ViewState -. questo è dove il vostro codice dovrebbe probabilmente andare

I controlli possono apportare modifiche al ViewState fino a quel momento - e, in generale saranno farlo nel PreRender evento (che spara poco prima SaveStateComplete).

Che tipo di cambiamenti si stanno facendo?

e controllo di eventi fuoco in una molto severa, la moda molto prevedibile. La pagina e tutti i controlli di gestire un evento prima di passare a quello successivo. Quindi, se si mette il codice nella pagina, è possibile sapere esattamente cosa è successo in tutti i controlli associati.

Tuttavia, ignorando ViewState direttamente non è sicuro; controlli dipendono da esso. Invece, si potrebbe guardare sovrascrivendo SavePageStateToPersistenceMedium() e LoadPageStateFromPersistenceMedium() sulla pagina; ti danno un sacco di controllo sulla disposizione finale di ViewState.

In caso aiuta, ho coprire tali metodi e altre ottimizzazioni connesse nel mio libro: ultraveloce ASP.NET .

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top