Úvod do životního cyklu stránky ASP.NET
Kdykoli požádáme o stránku, nejprve se načte do paměti, poté se zpracuje a odešle do prohlížeče. Poté se uvolní z paměti. V každém kroku jsou k dispozici metody a události, které lze přepsat v závislosti na potřebě aplikace. Třída Page nejprve vytvoří hierarchický strom všech ovládacích prvků. Všechny tyto komponenty, s výjimkou směrnic, které jsou součástí tohoto stromu. Pokud bychom do direktivy pro stránku přidali trace = „true“, mohli bychom vidět kontrolní strom.
ASP.NET Životní cyklus stránky
Fáze životního cyklu stránky ASP.NET jsou inicializace, okamžitá kontrola, obnova a údržba stavu, provádění kódů obsluhy událostí a vykreslování stránky. ASP.NET Page Life Cycle je v podstatě rámec webových aplikací, který vyvinul a prodal Microsoft, aby programátorům umožnil vytvářet dynamické webové aplikace. Umožňuje uživatelům používat plně funkční jazyky jako C # nebo VB.NET. Používá příkazy HTTP, pracuje nad protokolem HTTP a používá zásady HTTP k nastavení dvoustranné komunikace mezi prohlížeči a serverem. Kódy ASP.NET lze psát v kterémkoli z těchto jazyků: C #, J #, JScript nebo Visual Basic.Net. ASP.NET má velké množství ovládacích prvků, jako jsou textová pole, tlačítka a štítky, které mohou být vyžadovány pro manipulaci a sestavení kódu pro vytváření HTML stránek.
Různé fáze životního cyklu stránky ASP.NET jsou uvedeny níže:
PreInit
- V této fázi je vlastnost IsPostBack zkontrolována, aby se zjistilo, zda se jedná o první zpracování stránky.
- Vytvoření nebo nové vytvoření dynamických ovládacích prvků.
- Dynamické nastavení hlavní stránky.
- Dynamické nastavení vlastnosti motivu.
Init
- Tato fáze se spustí po inicializaci každého ovládacího prvku.
- Je nastaven UniqueID každé kontroly.
- Tato fáze se také používá k inicializaci ovládacích vlastností.
- Událost se nejprve spouští pro nejspodnější ovládací prvek a poté se spouští nahoru hierarchii až do samotné stránky.
InitComplete
- Tuto událost lze použít ke změně stavu zobrazení.
- Tato událost je vyvolána objektem Stránka.
- Tuto událost lze použít pro zpracování úkolů, které vyžadují inicializaci.
OnPreLoad
- Tato konkrétní událost je vyvolána vždy, když je stav zobrazen načtením stránky pro sebe, stejně jako pro všechny ovládací prvky a také poté, co zpracuje data zpětného odeslání, která šla spolu s instancí požadavku.
- OnPreLoad také načte stav zobrazení pro sebe a všechny ovládací prvky, než instance Stránka vyvolá tuto konkrétní událost a poté zpracuje veškerá data zpětného volání v instanci Request.
Zatížení
- Metoda načtení je vyvolána na objektu Page a potom rekurzivně provede totéž pro každé podřízené ovládání, všechny ovládací prvky jsou načteny. Událost Load stránky nastane před událostí Load jednotlivých ovládacích prvků.
- Je to první místo v životním cyklu stránky, kde jsou obnoveny všechny hodnoty.
- Hodnota IsPostBack je kontrolována většinou, aby nedošlo k zbytečnému resetování stavu.
- Můžeme volat metodu ověření a ověřit, zda je IsValid.
- Můžeme zde také vytvořit dynamické ovládací prvky.
- Metoda události OnLoad se také používá k navázání připojení k databázi a nastavení vlastností v ovládacích prvcích.
Řídit události (události)
- NET nyní zavolá ty události na stránce nebo její ovládací prvky, které způsobily, že proběhlo PostBack.
- V takovém případě, pokud má stránka některý z ovládacích prvků validátoru, musíme před provedením jakéhokoli zpracování zkontrolovat vlastnost IsValid stránky a také musíme zkontrolovat stejnou vlastnost pro jednotlivé ovládací prvky ověření.
- Je to příklad kontrolní události, jako je událost kliknutí na tlačítko, která způsobila zpětné odeslání.
LoadComplete
- Tato událost je vyvolána na konci fáze zpracování události.
- Událost LoadComplete se používá pro práci, která vyžaduje načtení všech zbývajících ovládacích prvků na stránce.
OnPreRender
- Událost OnPreRender bude vyvolána až poté, co objekt Stránka vytvoří všechny požadované ovládací prvky a podřízené ovládací prvky, aby se stránka vykreslila.
- Událost PreRender na objektu Page je vyvolána pomocí objektu Page a poté rekurzivním způsobem provede totéž pro každé z dětí.
- K události PreRender na stránce dochází před událostí PreRender jednotlivých ovládacích prvků.
- Umožňuje také konečné změny stránky.
- Tato fáze nastane před uložením ViewState, takže provedené změny se uloží.
OnSaveStateComplete
- To se vyvolá po uložení stavu zobrazení a stavu kontroly pro stránku a ovládací prvky.
- ViewState byl pro stránku a všechny ovládací prvky uložen dříve, než dojde k této konkrétní události.
- Jakékoli změny provedené na stránce nebo ovládacích prvcích v této fázi budou ignorovány.
- Metoda vykreslení je metoda objektu stránky a jejích ovládacích prvků a nejedná se o událost.
- Tato metoda generuje Dynamic Hypertext Markup Language (DHTML), HTML na straně klienta a také skripty, které jsou nezbytné pro správné zobrazení kontroly v prohlížeči.
Vyložit
- Tato poslední událost se v zásadě používá k čištění.
- Zde došlo k veškerému zpracování a nyní je bezpečné zbavit se všech zbývajících objektů, které obsahují i objekt Page.
- Vyčištění se provádí na:
- Příklady tříd, tj. Objektů.
- Uzavření otevřených souborů.
- Ukončení připojení k databázi.
- Událost uvolnění nastane pro každý ovládací prvek a nakonec pro stránku.
- Během této fáze byla stránka a její ovládací prvky vykresleny, což neumožňuje provádět další změny v proudu odpovědí.
- Pokud voláte metodu, jako je Odpověď. Pak by stránka vyvolala výjimku.
Závěr - ASP.NET Životní cyklus stránky
Můžeme tedy dojít k závěru, že kdykoli uživatel požaduje od prohlížeče stránku, žádost by procházela řadou kroků a na pozadí by se stalo různé věci, aby se vytvořil výstup a poslala odpověď zpět klientovi. Doba mezi tímto požadavkem a odpovědí na stránku se nazývá „Životní cyklus stránky“.
Doporučené články
Toto byl průvodce životním cyklem stránky ASP.NET. Zde jsme diskutovali o konceptu, různých fázích a fázích životního cyklu stránky ASP.NET. Další informace naleznete také v dalších navrhovaných článcích -
- Jak nainstalovat .NET
- ASP.Net Otázky k rozhovoru
- Co je zabezpečení sítě?
- Interview otázky penetračního testování