Jelenleg nem kapcsolódik az internethez. Várakozás a kapcsolat helyreállítására

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

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

Cikkazonosító: 316813 - Utolsó ellenőrzés: 09/04/2003 16:36:00 - Verziószám: 2.4

  • Microsoft ASP.NET 1.1
  • Microsoft ASP.NET 1.0
  • kbstate kbwebforms kbprb kbservercontrols KB316813
Visszajelzés