Dies könnten Steuerelemente sein, die ControlState verwenden. Jedes Steuerelement, das über einen Steuerungsstatus verfügt, ignoriert Ihre ViewState-Einstellungen.
Es ist der Kontrollstatus.
Wenn Sie viewstate und controlstate wirklich loswerden wollen, können Sie diesen Code im Code-Behind für die Seite oder in jeder Klasse verwenden, von der der Code-Behind abgeleitet ist
%Vor%Seien Sie dabei jedoch sehr vorsichtig, da Sie den Vertrag mit den Steuerelementen verletzen. MSDN gibt explizit an, dass der Steuerungsstatus immer verfügbar ist. In der Praxis hat es jedoch für mich funktioniert.
Bearbeiten: Da ich abgelehnt wurde, möchte ich noch einmal darauf hinweisen: Tu das nicht, wenn du nicht genau weißt, was du tust. In meinem Fall wurde fast die gesamte Anwendung in clientseitigem JavaScript geschrieben, und bei diesen wenigen Ereignissen, bei denen Postbacks auftraten, verwendete ich immer die Request.Form-Sammlung, um die Werte abzurufen. Verwenden Sie keine serverseitigen Steuerelemente für etwas anderes als einfaches Rendern, wenn Sie dies tun.
Dieser Artikel ist ein wenig alt, aber nach meinem Verständnis sind die meisten Punkte immer noch gültig:
Dies ist ein absolut fantastischer Artikel über ViewState , wenn Sie entwickeln in ASP.NET lesen Sie es!
ASP.NET ViewState Helper ist auch ein nettes Werkzeug, um zu sehen, was in Ihrem ViewState vor sich geht
Kontrollstatus kann die Ursache sein. Der Steuerungszustand kann nicht deaktiviert werden. In ASP.NET 2.0 wird zwischen Daten unterschieden, die zum Ausführen eines Steuerelements (controlstate) und anderen Daten (viewstate) erforderlich sind.
Und ja, einige der Steuerelemente funktionieren nicht ohne Steuerstatus. Wenn Sie wissen möchten, welches das verursacht oder was der Viewstatus enthält, sehen Sie sich einen viewstate viewer
Die Steuerelemente, die IPostBackEventHandler wie Textbox, Checkbox usw. implementieren . behält den Status auch nach Deaktivierung des Viewstatus bei. Der Grund dafür ist, dass während der Phase "Postback-Daten laden" diese Steuerelemente Statusinformationen aus dem Formular Zurückgebuchtes Formular erhalten.
Aber Steuerelemente wie Label , die IPostBackEventHandler nicht implementieren, erhalten keine Statusinformationen aus zurückgesendeten Daten und hängen daher vollständig von viewstate ab, um den Status beizubehalten.