2009-04-20 19 views
0

Nehmen wir an, ich habe eine Klasse Person mit einem String [] NickNames, wo Person 0 oder mehr Nicknames gespeichert haben kann. Ich möchte eine ASP.net-Seite erstellen, auf der ein Benutzer Nicknamen hinzufügen/bearbeiten/löschen kann.
Frage ist- wie persistiere ich das Person-Objekt zwischen Postbacks? Ich Frage die DB und erstellen Sie das Objekt, dann zeigen Sie es auf einem Formular, aber dann hat der Benutzer die Option zum Bearbeiten/Löschen von Feldern dieses Objekts. Sobald die Seite mit den Feldern der Person angezeigt wird, wie aktualisiere ich dieses Objekt mit die Änderungen, die der Benutzer vorgenommen hat, um in db zu speichern?ASP.NET und Objekte

Danke!

Antwort

0

Fragen Sie das Objekt erneut ab (Sie könnten es in einer Sitzungsvariablen speichern, aber das skaliert nicht), sammeln und übernehmen Sie Änderungen vom Benutzer beim Postback.

+0

Ich vermute, er wird wahrscheinlich nicht über die Skalierung auf kümmern sein Projekt ... – Will

+0

jetzt jetzt. sei nett :) –

+0

Du wärst überrascht, wie manchmal das Offensichtliche hilft, jemanden loszuwerden. –

1

Nun, wenn Ihre Person Objekt ist serializable Sie es in Viewstate speichern könnten, und wenn nicht, könnten Sie es in Session halten, aber es klingt wie Sie einen allgemeinen Mangel an Verständnis über Data Persistance im Allgemeinen haben könnten

Je Auf Ihre Implementierung, und ob Sie dies alles von Hand oder mithilfe der integrierten DataSource/DataAdapter-Steuerelemente codieren, gibt es eine Reihe von Möglichkeiten, dies zu tun.

Sie konnten einen Blick auf einige grundlegende ASP.NET/ADO.NET Tutorials haben Sie in die richtige Richtung zu zeigen

http://aspnet101.com/aspnet101/tutorials.aspx?id=17

+0

hmm, also, wenn das Person-Objekt zu typischen Kontaktinformationen erweitert wird - Adresse, Name, etc., vielleicht 20 Felder ... wäre es vorzuziehen, das Objekt zu serialisieren und in ViewState oder zu speichern in Sitzung setzen? Ich werde die eingebaute SQL-Datenquelle/Adapter-Steuerelemente verwenden und habe in Databinding untersucht, aber da dies nicht in einer Gridview angezeigt wird, und auch da sie in der Lage sein werden, zusätzliche Spitznamen hinzuzufügen, glaube ich nicht Verwenden Sie Datenbindung –