Dreamwaver MX und ASP.NET(6)
Autor:Eve Cole
Aktualisierungszeit:2009-05-31 21:06:05
6. Erstellen Sie eine Datensatzänderungsseite
Verwandte Einführung (Hinweis: Um den Code anzuzeigen, haben alle folgenden Codes Leerzeichen nach „<“ und vor „>“. Wir entschuldigen uns für die Unannehmlichkeiten!):
Das Hinzufügen, Ändern und Löschen von Daten sind die drei grundlegenden Vorgänge in der Datenbank. In diesem Abschnitt wird der Änderungsdatensatzteil vorgestellt.
SCHRITT 1 Designänderungsprozess
Im Allgemeinen müssen nur die angegebenen Datensätze aktualisiert werden. Daher muss eine Suchseite für die Abfrage eingerichtet werden. Die Abfrageergebnisse werden auf der Ergebnisseite angezeigt und Benutzer können sie ändern. Schließlich wird die Aktualisierungsaufgabe durch den Übermittlungsvorgang abgeschlossen.
Erstellen Sie zunächst eine Abfrageseite. Beim Erstellen eines Datensatzes können wir die erforderlichen Daten über den Datenfilter Filter auswählen. Da wir auf den Link in der Datenliste klicken, um zu dieser Seite zu gelangen, wählen Sie den URL-Parameter aus und verwenden Sie das Schlüsselwort CODE, um die erforderliche Seite herauszufiltern.
[Abbildung 6-1 Daten filtern]
Erstellen Sie dazu eine neue Datei „modify.aspx“ auf der Site und fügen Sie das DataSet wie oben gezeigt hinzu.
Schritt 2: Erstellen Sie eine Detailseite
Um Links zu generieren, sollte zunächst eine Navigationsseite eingerichtet werden. Die in Abschnitt 3 erstellte DataGrid-Seite kann geändert werden, um einen solchen Navigationseffekt zu erzielen. Der Stil des DataGrid wird geändert und die Datenelemente können auch so eingestellt werden, dass sie verknüpften Text anzeigen. Die gleiche Funktion kann auch in DataList und Repeater erreicht werden, die beide einen Hyperlink zur Detailseite setzen.
Öffnen Sie die ursprüngliche Datei „location2.aspx“ und ändern Sie den ursprünglichen DataList-Stil. Wählen Sie DataListm aus und klicken Sie auf Spalten bearbeiten (Abbildung 6-2). Im Popup-Dialogfeld „DataGrid-Stildesign“ (Abbildung 6-3) können Sie den Typ von „Location_name“ auf „Hyperlink“ festlegen. Wählen Sie Standortname aus und klicken Sie auf die Schaltfläche „Spaltentyp ändern“, um zu „Hyperlink“ zu wechseln.
[Abbildung 6-2 Spalten bearbeiten.]
[Abbildung 6-3 Hyperlink einrichten]
Die Hyperlink-Einstellungen sind wie folgt:
[Abbildung 6-4 Link-Schlüsselwörter festlegen]
Das angezeigte Datenfeld „Standortname“, das Verbindungsschlüsselwort ist Code und die Seite, zu der gesprungen werden muss, ist die Seite „modify.aspx“. Nachdem Sie auf den Link geklickt haben, wird der spezifische URL-Link angezeigt
http://yoursite/modify.aspx?CODE=Der Codewert des angeklickten Datensatzes
Die Seite „modify.aspx“ fragt auch die erforderlichen Datensätze aus der Datenbank über den übergebenen Codewert ab.
Um Daten auf der Seite „modify.aspx“ zu aktualisieren, müssen Sie ein Formular verwenden. Hierzu ist die Bindung des Datensatzes an das Eingabefeld erforderlich. Das Binden von Daten in Dreamweaver MX ähnelt dem in Dreamweaver UltraDev. Legen Sie die Seite wie in Abbildung 6-5 dargestellt fest. Erstellen Sie 6 neue Textfelder, 1 verstecktes Feld und 1 Senden-Schaltfläche und platzieren Sie sie an den entsprechenden Stellen. Das versteckte Feld wird verwendet, um den CODE-Wert dieses Datensatzes zu speichern. Da der Codewert ein Schlüsselwort ist, muss er nicht geändert werden.
[Abbildung 6–5 Seite „modify.aspx“]
Klicken Sie auf die Beschriftung „Bindung“ und ziehen Sie das spezifische Datenelement in das entsprechende Textfeld. Gleichzeitig kann im Format die Darstellungsart der Daten eingestellt werden. Sie können auch alle Eigenschaften des Textfelds an die Datenquelle binden. Wählen Sie das erste Dropdown-Menü des Datensatzes aus
[Abbildung 6-6 Bindung] [Abbildung 6-7 Datentypauswahl] [Abbildung 6-8 Bindungsattribute]
Legen Sie in der Liste die Textfeldeigenschaft fest, die an die Datenquelle gebunden ist.
SCHRITT 3 Datenaktualisierung
Für die Datenaktualisierung können Sie im Bereich „Anwendung“ unter „Serververhalten“ auf die Schaltfläche „+“ klicken und „Datensatz aktualisieren“ auswählen.
[Abbildung 6–9 Datensatz aktualisieren auswählen]
[Abbildung 6-10 Einstellungszuordnung]
Im Popup-Dialogfeld müssen Sie das Eingabefeld mit der entsprechenden aktualisierten Datenquelle verknüpfen und den Datentyp festlegen. Unter diesen sollte CODE das Schlüsselwort Primärschlüssel sein. Ähnlich wie bei der Seite „Datensatz einfügen“ müssen Sie auch die Seite festlegen, zu der die Seite springt, wenn die Seite erfolgreich hinzugefügt wurde und wenn das Hinzufügen der Seite fehlschlägt.
Jetzt können Sie eine Vorschau der fertigen Seite anzeigen. Geben Sie die URL http://yoursite/location3.aspx ein und Sie sehen die in Abbildung 6-11 gezeigte Seite.
[Abbildung 6-11 Durchsuchen der Seite „location3.aspx“]
Das Element „Location_name“ ist anklickbar und führt zur Detailseite „modify.aspx“.
[Abbildung 6-12 Vorschau der Aktualisierungsseite]
Vorhandene Daten können über die Seite „modify.aspx“ geändert werden, und Daten können über Formularübermittlungsereignisse aktualisiert werden.
Der wichtigste aktualisierte Code lautet wie folgt:
<MM:Update
runat="server"
CommandText='< %# "UPDATE LOCATIONS SET CITY=?, STATE_COUNTRY=?, FAX=?, TELEPHONE=?, ADDRESS=? WHERE CODE=?"
ConnectionString='< %# System.Configuration.ConfigurationSettings.AppSettings("MM_CONNECTION_STRING_location") % >'
DatabaseType='< %# System.Configuration.ConfigurationSettings.AppSettings("MM_CONNECTION_DATABASETYPE_location") % >'
Expression='< %# Request.Form("MM_update") = "form1" % >'
CreateDataSet="false"
SuccessURL='< %# "location3.aspx" % >'
Debug="true"
>
<Parameter>
< Parameter Name="@CITY" Value='< %# IIf((Request.Form("city") < > Nothing), Request.Form("city"), "") % >' Type="WChar" />
< Parameter Name="@STATE_COUNTRY" Value='< %# IIf((Request.Form("state") < > Nothing), Request.Form("state"), "") % >' Type="WChar" />
< Parameter Name="@FAX" Value='< %# IIf((Request.Form("fax") < > Nothing), Request.Form("fax"), "") % >' Type="WChar" />
< Parameter Name="@TELEPHONE" Value='< %# IIf((Request.Form("tele") < > Nothing), Request.Form("tele"), "") % >' Type="WChar" />
< Parameter Name="@ADDRESS" Value='< %# IIf((Request.Form("address") < > Nothing), Request.Form("address"), "") % >' Type="WChar" />
< Parameter Name="@CODE" Value='< %# IIf((Request.Form("hiddenField") < > Nothing), Request.Form("hiddenField"), "") % >' Type="WChar" />
< /Parameter >
< /MM:Update >
Dreamweaver MX verwendet mm:update, um aktualisierten Code darzustellen. Das Format ähnelt MM:Insert.