Postback

sub_line

Grünschnabel
hi,

ich habe mir mit Table, TableCell und TableRow ein eigenes Formular zusammengestellt, welches in jeder Zeile eine Checkbox enhält. Nach dem Drücken auf einen Button sollen allen Zeilen, bei denen die Checkbox selektiert ist, bestimmt werden können, da die Daten später weiterverarbeitet werden.

Ich habe in der Doku von Microsoft dann nachgelesen, dass eine selber zusammegestellte Tabelle bei einem Postback nochmal neu generiert werden muss: "Sie müssen unbedingt berücksichtigen, dass jedes programmgesteuerte Hinzufügen oder Ändern von Tabellenzellen oder -zeilen bei einem Postback verloren gehen. Dies liegt daran, dass Tabellenzeilen und Tabellenzellen keine Eigenschaften des Table-Steuerelements, sondern selbst Steuerelemente sind. Um Änderungen an der Tabelle beizubehalten, müssen Zeilen und Zellen nach jedem Postback rekonstruiert werden."

Bei einem Buttonklick muss also die Tabelle nochmals generiert werden, damit ich meine selektierten Checkboxen wiederfinde und ich somit herausfinde, welche Zeilen gewählt wurden. Das wäre aber nicht das Problem! Das Problem besteht darin, dass nach dem Betätigen des Buttons die Seite fast ne ganze Weile nicht reagiert und ziemlich viel uploaded. Ich denk mal, dass die ganzen Serverelemente durchgecheckt werden und diese Daten an den Server gehen. Oder?

Meine Frage: An was könnte es liegen, dass meine Seite so lange nicht braucht? Liegt es an dem Postback? Kann ich das Postback irgendwie verhindern?
 
Das Postback wirst du wohl brauchen, zumal ja der User bei dir Daten eingeben können soll, oder was anklicken etc.

Vielleicht solltest du dir mal den MSDN Eintrag zum Postback genauer angucken bzw. die Technologie dahinter ein wenig deutlicher ansehen um zu sehen, wie ASP.NET wirklich arbeitet. Dies klärt eine Menge Fragen.

Warum das so lange braucht? Ich hab keine Ahnung was du da wie zusammengebaut hast. Aber eventuell machst du irgendwo einen entsprechenden Fehler der die Langsamkeit verursacht. Dir da eine Antwort zu geben ist schwer, vor allem wenn man nicht weiß was du tust. Aber du könntest es mit Debuggen versuchen bzw. mit Logging, dann kannst dir die Teile, die lange brauchen rausfiltern.
 
Zurück