sieht aus wie DataTable.Rows-Eigenschaft nicht in ViewState gespeichert wird, aber die Columns-Eigenschaft ist, weil ich nicht erklären kann, warum Spalten zwischen Postbacks beibehalten und die Daten nicht. Irgendwelche Ideen?DataTable und Viewstate
Antwort
Die DataTable-Klasse speichert in ViewState überhaupt nichts. Die DataTable-Klasse ist nicht für Webanwendungen spezifisch und verwendet keine webspezifischen Funktionen.
Wenn Daten aus einem DataTable-Objekt in ViewState gespeichert werden, liegt dies daran, dass Sie sie als Datenquelle für ein Websteuerelement verwenden, das Informationen in ViewState speichert, wie z. B. ein DataGrid. Das Steuerelement kopiert die Informationen aus der DataTable, die zum erneuten Erstellen des Steuerelements für das Postback erforderlich sind. Das DataTable-Objekt, mit dem das Steuerelement ursprünglich gebunden wurde, ist nicht mehr vorhanden, sobald die Seite an den Browser gesendet wurde. Die Columns-Eigenschaft des DataGrid-Steuerelements (z. B.) ist eine Auflistung von DataGridColumn-Objekten. Sie entspricht nicht der Columns-Eigenschaft der DataTable-Klasse, die eine Auflistung von DataColumn-Objekten darstellt, obwohl die meisten Informationen aus den Spalten stammen der DataTable wird in die Spalten des DataGrid kopiert, wenn das DataGrid Daten gebunden ist.
- 1. ViewState, UserControl und IsPostback
- 2. ViewState und Web Load Testing
- 3. ViewState und Ändern der Kontrollreihenfolge
- 4. {ApplicationName} /ScriptResource.axd und ungültiger Viewstate
- 5. ViewState und dynamisch entfernte Steuerelemente
- 6. Problem mit Literalen und ViewState
- 7. ASP.net ViewState
- 8. ViewState optimieren
- 9. Viewstate Vererbung
- 10. Viewstate Optimierungen
- 11. ViewState hält keine Variablen und Fehler
- 12. Sitzung und Viewstate bei Facebook-Plattform
- 13. ASP.NET: Viewstate und programmgesteuertes Hinzufügen von Benutzersteuerelementen
- 14. ASP.net ViewState - Auch wenn deaktiviert, gibt es einige Viewstate. Warum?
- 15. ASP.NET: Compress ViewState
- 16. System.Web.UI.ViewStateException, ungültiger Viewstate
- 17. Läuft Viewstate ab?
- 18. asp.net viewstate Verschlüsselung
- 19. Random Ungültiger Viewstate Error
- 20. ASP.Net 1.1 Viewstate Sicherheit
- 21. Viewstate oder Hidden
- 22. Wo wird ViewState gespeichert?
- 23. Wie Viewstate zu löschen?
- 24. ASP.NET - Viewstate Größe
- 25. WebResource.axd - Ungültiger ViewState
- 26. ViewState in asp.net?
- 27. ASP.NET Server Side Viewstate
- 28. Viewstate als Attribut
- 29. Viewstate Problem mit asp.net
- 30. Datatable nicht anzeigen und sortieren
Aber was ich sehe, widerspricht völlig, was Sie sagen. Beachten Sie, dass ich nicht über GridView spreche (ich bin mir bewusst, dass GridView in ViewState gespeichert wird). Wobei ich sehe, dass die Columns-Eigenschaft von DataTable ebenfalls gespeichert wird. Ich denke, ich werde noch ein paar Tests machen müssen. – sarsnake
mein schlechter, du hast Recht. Ich fügte früher Spalten hinzu und bemerkte es nicht. – sarsnake