Hogyan lehet eltávolítani Viewstate az oldalról
Helyett lőtt és zavart jön a vágy, hogy megértsék, hogyan kell eltávolítani a ViewState, vagy legalábbis csökkenteni a tárolt információ benne?
Sajnos, a tartalmát a Asp.Net oldalak nem lehet manuálisan kialakulását. És ez nem okoz nagy vitákat vált egyes fejlesztők. Például, ugyanaz a PHP programozó teljesen generál oldal tartalmát szabályozásával minden karakter. By the way, a Asp.Net MVC ilyen csúnya, mint a ViewState, már nem létezik.
Lássuk, miért van szükség a ViewState, és hogy van tárolva? Menjünk!
ViewState információt tárol minden szerver ellenőrzések. Minden tulajdonságait vezérlőt RUNĀT = „server” ott tárolt;
ViewState állapotát figyeli a szerver alkatrészek;
Amikor újraindítja az oldalt visszaállítja az állam a komponenseket;
Minden adatot tárolnak egy szerializált formában egy rejtett mező az oldalon.
A fentiekből nyilvánvaló, hogy ViewState - egy hasznos dolog, és az ő durva leállás vezet az a tény, hogy az újraindítás után az oldal ellenőrzések már nem megtartja az információt beléptek, minden megváltozott tulajdonságokat váltja teljesített. Általában a játék lényege, hogy legyen nagyon óvatos.
ViewState eltávolítás lehet kétféleképpen történhet:
távolítsa ViewState kontroll, nem tárolja, az állapotától;
átvitel állapota tárolás területén a látens ViewState az alkalmazás szerver.
Vessünk egy közelebbi pillantást az egyes módszerek.
Removal ViewState tulajdonságok keresztül EnableViewState
Minden Asp.Net szerver felügyelete ingatlan EnableViewState. Az alapértelmezett igaz. Ez azt jelenti, hogy az elem megtartja állam a ViewState az oldalon. Ha az ellenőrzés tulajdonságait letette EnableViewState = „false”, akkor az állapota már nem lesz tárolva. Például ha a címke a falu, amely a PostBack nem változtatja a tulajdonságait, lehetséges, sőt szükséges kikapcsolni ViewState.
Finoman játszani ezt a funkciót, különben a PostBack elveszíthetik a jelenlegi állapotában a kontroll.
Megjegyzés. Ön kikapcsolhatja ViewState oldal szinten, amivel egy címkejellemzőn oldal EnableViewState = „false”. Ezután a ViewState rejtett mező eltűnik az oldalt, és minden kezelőszerv nem tárolja adatait azok állapotát.
Transzfer a tárolási állapotban ki ViewState egy alkalmazás szerver
Ez a módszer jobban tetszik, mert valójában nem letiltani, de egyszerűen változtatni a tárolási helyét információkat az állapotát a szerver komponensek. Mi fog változni a viselkedése az oldal segítségével az osztály PageAdapter System.Web.UI.Adapters szerelvény.
Egy pár sort arról, hogy milyen oldalt adapter? Ezt a kiegészítőt alapértelmezett kezelő oldal, amely lehetővé teszi, hogy felülbírálja az oldal viselkedését.
A web alkalmazás MyPageAdapter.cs hozzon létre egy osztályt a következő tartalommal:
Itt átírjuk a tárolási helyét feltétele az alkatrészek. Az alapértelmezett HiddenFieldPageStatePersister (ez a mi ViewState rejtett mező az oldalon). Mi a helyébe SessionPageStatePersister, azaz Azt jelzi, hogy most fog tárolni a nézetet állam egy ASP.NET-oldalt a webszerver.
Most arra van szükség, hogy az oldalainkon tudják, hogy vannak ilyen PageAdapter. Ehhez hozzon létre egy fájlt a következő tartalommal BrowserFile.browser katalógus App_Browsers honlapunkon:
Fájl kiterjesztését .browser általában célja, hogy meghatározza a böngésző képességeit. Például, hogy a különböző változatai asztali weboldalak és mobil böngészők. Adapterek használhatják az adatokat a fájlból, hogy alkalmazkodjanak a viselkedésüket. Amit valójában tett.
Itt elvileg minden! Most az összes adatot oldalletöltések az ülésen állapotban tárolt webalkalmazás-kiszolgáló.
1. Egy pontot le tulajdonságok EnableViewState vezérlőkkel, amelyek nem változtatják állapotukat, amikor PostBack, akkor csökkenthetjük a rendetlenséget információkat az ViewState rejtett mezőt az oldalon.
2. A tárolási transzfer ellenőrzését az állami az ügyfél és a kiszolgáló oldalon lehet elérni jelentős súlycsökkenés oldalakon. Record 200 KB csökken lakonikus
Ön is érdekelt: