Ich erhalte folgende Fehlermeldung nach einem HTTP POST auf einem ASP.NET-Formular, das in einem UserControl gehostet wird:
Ladezustand nicht laden. Der Kontrollbaum, in den der Viewstate geladen wird, muss mit dem Kontrollbaum übereinstimmen, der beim Speichern der Viewstate während der vorherigen Anfrage verwendet wurde. Wenn Sie beispielsweise Steuerelemente dynamisch hinzufügen, müssen die während eines Postbacks hinzugefügten Steuerelemente dem Typ und der Position der Steuerelemente entsprechen, die während der ursprünglichen Anforderung hinzugefügt wurden.
Hier finden Sie weitere Informationen:
Ich habe alle aktuellen Service Packs angewendet. Mir sind jetzt die Ideen ausgegangen! Ich habe es sogar neu gestartet und auch ein richual über den Server mit einem Song und einem speziellen Tanz ohne Erfolg durchgeführt.
Danke für jegliche Hilfe oder Ideen!
Was wichtig ist, wenn Sie Steuerelemente dynamisch hinzufügen, ist, auf welchem Ereignis Sie sie hinzufügen.
Wenn Sie nach dem Laden Ereignisse hinzugefügt haben, die nach dem Laden auftreten, sind sie Teil des Ansichtsstatus, den Sie an den Client senden.
Sie müssen diese Steuerelemente erneut hinzufügen, bevor LoadViewState
aufgerufen wird.
Wenn Sie in Fällen auftreten, in denen die Entscheidung, welche Steuerelemente hinzugefügt werden sollen, selbst in ViewState
oder dem Wert eines Steuerelements gespeichert wird, dann merken Sie sich diese Daten noch bevor ViewState
geladen ist in Request.Params
Lesen Sie den asp.net-Seitenlebenszyklus
Dieser Fehler tritt hauptsächlich während des Ansichtszustands auf: Von einer Vorlage zu einer anderen Vorlage, wie im Fall einer Elementvorlage, einer Elementvorlage, in Steuerelementen wie Formularansicht, Listenansichten, Detailansicht, Rasteransicht in ASP .net (alle Frameworks) );
Beim Wechseln von den Steuerzuständen sagen Item Template ---> Edit Template
Das Folgende würde sich ändern.
1) Die Steuerelemente ändern sich (ihre ID & amp; states)
2) Seine Positionen werden sich ändern.
Während der Transformation der Ansicht, wenn ein Post zurück auftritt, erhalten Sie einen Fehler als
Ladezustand nicht laden. Der Kontrollbaum, in dem der Viewstate ist geladen werden ....
Wenn Sie ein separates Steuerelement für Datenbindungen wie (button, link_button_Image_button Ereignisse) verwenden, erhalten Sie diesen Fehler gemeldet!
Um diesen Fehler zu vermeiden & gt; & gt; & gt; Sobald der Status von einer Vorlage zu einer anderen innerhalb der Methode wechselt, rufen Sie die Datenquellenbindung auf (Rufen Sie nicht während des Klicks oder bei Post-Back-Ereignissen auf).
Überprüfen Sie, ob Sie die Bindungsmethode des Steuerelements direkt in Ihrem Seitenladeereignis haben. Dies kann dieses Problem verursachen.
Sie können einen neuen PlaceHolder pro UserControls hinzufügen
ODER
Sie können enableviewstate=false
für das Steuerelement festlegen, wenn Sie viewstate
In meinem Fall hatte ich eine Rasteransicht mit (OnPageIndexChanging) -Ereignis und wenn ich auf eine Seite klicke, passiert nichts, bis ich zweimal darauf klicke!
Ich habe die Datenquelle aktualisiert, bevor ich den neuen Seitenindex eingestellt habe.
%Vor%Das habe ich falsch gemacht
%Vor%Das ist der richtige Weg
Ich hatte das gleiche Problem. Dieses Problem trat auf Clientseite auf, trat jedoch in meinem lokalen System nicht auf. Nach stundenlangem googeln hatte ich EnableViewState="false" in meine aspx-Seite geschrieben, die alle dynamischen Steuerelemente enthält. Dann entfernte ich alle Viewstate-Variablen und stattdessen erstellte ich einige versteckte Textfelder in der aspx-Seite und akzeptierte DB-Werte in sie in Code hinter und benutzte sie in meinem Code. Es hat dann mein Problem gelöst. Aber trotzdem konnte ich nicht herausfinden, was genau das Problem war.
Dies kann passieren, wenn Sie SaveViewState
in Ihrem Steuerelement überschreiben, aber nicht LoadViewState
überschreiben.
Tags und Links .net asp.net .net-4.5 asp.net-4.5 umbraco