Sie sind zurzeit offline. Es wird auf die erneute Herstellung einer Internetverbindung gewartet.

PRB: Serversteuerelemente behalten ihren Zustand bei, wenn EnableViewState auf "False" gesetzt ist

Dieser Artikel ist eine Übersetzung des folgenden englischsprachigen Artikels der Microsoft Knowledge Base:
316813 PRB: Server Controls Persist Their State When EnableViewState Is Set to False
Problembeschreibung
Die folgenden Serversteuerelemente behalten ihren Zustand bei allen Anfragen bei, auch wenn das Steuerelement "ViewState" (das Attribut EnableViewState) auf False gesetzt ist:
  • Das Steuerelement TextBox.
  • Das Steuerelement CheckBox.
  • Das Steuerelement RadioButton.
Ursache
Dieses Verhalten tritt auf, da "ViewState" eines Steuerelements nur eine der Methoden ist, die verwendet werden, um den Zustand von Attributen eines Steuerelements bei Anfragen beizubehalten. In den Serversteuerelementen, die im Abschnitt "Problembeschreibung" genannt werden, werden Attribute, die normalerweise über Form-Get oder Form-Post an den Server gesandt werden, von ViewState behandelt. Diese Werte enthalten Attribute des Steuerelements, wie z. B. BackColor. Attribute, die normalerweise an den Server gesandt werden, werden von der IPostBackDataHandler-Schnittstelle behandelt. Das Attribut checked des Steuerelements CheckBox ist beispielsweise ein solches Attribut.
Status
Es handelt sich hierbei um ein programmtechnisch bedingtes Verhalten.
Weitere Informationen

Schritte zum Reproduzieren des Verhaltens

  1. Erstellen Sie eine .aspx-Seite mit einem CheckBox-Steuerelement (ID=CheckBox1) und einem Button-Steuerelement für Webformulare.
  2. Fügen Sie den folgenden Microsoft Visual C#-Code dem Ereignis Page_Load hinzu:
    private void Page_Load(object sender, System.EventArgs e){	if(!IsPostBack)	{		CheckBox1.BackColor = Color.FromName("Tomato");	}}					
  3. Überprüfen Sie, ob die Eigenschaft EnableViewState für das Steuerelement CheckBox auf True gesetzt ist.
  4. Speichern und kompilieren Sie Ihr Projekt, und wechseln Sie anschließend zur Seite .aspx.

    Auch wenn die Hintergrundfarbe für das Steuerelement CheckBox gesetzt wird, wenn Sie die Seite .aspx zum ersten Mal anfordern, wird sie bei Anfragen beibehalten, wenn Sie das Formular mit der Schaltfläche absenden.
  5. Setzen Sie die Eigenschaft EnableViewState des Steuerelements Checkbox auf False.
  6. Speichern und kompilieren Sie Ihr Projekt, und wechseln Sie danach mit einer neuen Instanz des Browsers zur Seite .aspx.
  7. Aktivieren Sie das Kontrollkästchen für das Attribut checked.Wenn Sie die Seite .aspx erneut mit der Schaltfläche absenden, geht die Hintergrundfarbe des Steuerelements Checkbox verloren. Der Status "checked" des Steuerelements wird jedoch beibehalten.
Bitte beachten Sie: Bei diesem Artikel handelt es sich um eine Übersetzung aus dem Englischen. Es ist möglich, dass nachträgliche Änderungen bzw. Ergänzungen im englischen Originalartikel in dieser Übersetzung nicht berücksichtigt sind. Die in diesem Artikel enthaltenen Informationen basieren auf der/den englischsprachigen Produktversion(en). Die Richtigkeit dieser Informationen in Zusammenhang mit anderssprachigen Produktversionen wurde im Rahmen dieser Übersetzung nicht getestet. Microsoft stellt diese Informationen ohne Gewähr für Richtigkeit bzw. Funktionalität zur Verfügung und übernimmt auch keine Gewährleistung bezüglich der Vollständigkeit oder Richtigkeit der Übersetzung.
Eigenschaften

Artikelnummer: 316813 – Letzte Überarbeitung: 11/04/2003 15:53:26 – Revision: 2.4

  • Microsoft ASP.NET 1.1
  • Microsoft ASP.NET 1.0
  • kbprb kbservercontrols kbstate kbwebforms KB316813
Feedback