Probléma: A kiszolgálóvezérlők az EnableViewState False értéke esetén is megőrzik állapotukat

A cikk fordítása A cikk fordítása
Cikk azonosítója: 316813 - A cikkben érintett termékek listájának megtekintése.
Az összes kibontása | Az összes összecsukása

A lap tartalma

A jelenség

A következő kiszolgálóvezérlők akkor is megőrzik adataikat az egyes kérelmek között, ha a vezérlő ViewState (állapot megtekintése) tulajdonsága (azaz EnableViewState attribútuma) a False (hamis) értékre van állítva:
  • A TextBox (szövegmező) vezérlő.
  • A CheckBox (jelölőnégyzet) vezérlő.
  • A RadioButton (választógomb) vezérlő.

Oka

A viselkedés magyarázata, hogy egy vezérlő ViewState tulajdonságmetódusa csak egy a vezérlő attribútumainak kérések közötti megőrzésére használt metódusok közül. Azokban a kiszolgálóvezérlőkben, melyeket „A Jelenség” szakasz említ, a kiszolgálónak az űrlapok get és post metódusaival rendszerint el nem küldött attribútumokat a ViewState tulajdonság kezeli. Ezek az értékek a vezérlő attribútumait foglalják magukban, például a BackColor (háttérszín) attribútumot. A normális esetben a kiszolgálóhoz küldött attribútumokat az IPostBackDataHandler felület kezeli. Egy példa egy ilyen attribútumra a CheckBox vezérlő checked (bejelölt) attribútuma.

Állapot

Ez a viselkedés tudatos tervezés eredménye.

További információ

A viselkedés ismételt előállításának lépései

  1. Hozzon létre egy Web Forms CheckBox (ID=CheckBox1) és egy Button (gomb) vezérlővel rendelkező .aspx lapot.
  2. A Page_Load (lap töltése) eseményhez adja hozzá a következő Microsoft Visual C# nyelvű kódrészletet:
    private void Page_Load(object sender, System.EventArgs e)
    {
    	if(!IsPostBack)
    	{
    		CheckBox1.BackColor = Color.FromName("Tomato");
    	}
    }
    					
  3. Győződjön meg róla, hogy a CheckBox vezérlő EnableViewState tulajdonsága True (igaz) értékre van állítva.
  4. Mentse és fordítsa le a projektet, majd böngészőben nyissa meg az .aspx lapot.

    Annak ellenére, hogy az .aspx lap első kérésekor beállítódik a CheckBox vezérlő háttérszíne, az változatlan marad az űrlap gombjával elküldhető ismételt kérések között.
  5. Állítsa a Checkbox vezérlő EnableViewState tulajdonságát False értékre.
  6. Mentse és fordítsa le a projektet, majd a böngésző egy új példányát megnyitva nyissa meg az .aspx lapot.
  7. A checked attribútum viselkedésének ellenőrzéséhez kattintással jelölje be a jelölőnégyzetet. Ha a gombbal ismételten elküldi az .aspx lapot, a Checkbox vezérlő háttérszíne elvész, a vezérlő bejelölt állapota (a checked attribútum értéke) ennek ellenére megőrződik.

Tulajdonságok

Cikk azonosítója: 316813 - Utolsó ellenőrzés: 2003. szeptember 4. - Verziószám: 2.4
A cikkben található információ a következő(k)re vonatkozik:
  • Microsoft ASP.NET 1.1
  • Microsoft ASP.NET 1.0
Kulcsszavak: 
kbstate kbwebforms kbprb kbservercontrols KB316813
A Microsoft tudásbázisban szolgáltatott információkat "az adott állapotban", bárminemű szavatosság vagy garancia nélkül biztosítjuk. A Microsoft kizár mindennemű, akár kifejezett, akár vélelmezett szavatosságot vagy garanciát, ideértve a forgalomképességre és az adott célra való alkalmasságra vonatkozó szavatosságot is. A Microsoft Corporation és annak beszállítói semmilyen körülmények között nem felelősek semminemű kárért, így a közvetlen, a közvetett, az üzleti haszon elmaradásából származó vagy speciális károkért, illetve a kár következményeként felmerülő költségek megtérítéséért, még abban az esetben sem, ha a Microsoft Corporationt vagy beszállítóit az ilyen károk bekövetkeztének lehetőségére figyelmeztették. Egyes államok joga nem teszi lehetővé bizonyos károkért a felelősség kizárását vagy korlátozását, ezért a fenti korlátozások az ön esetében esetleg nem alkalmazhatók.

Visszajelzés küldése

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com