Hinzufügen von Validierungssteuerelementen zu Oberfläche für die Bearbeitung von DataList (VB)
von Scott Mitchell
In diesem Tutorial erfahren Sie, wie einfach das Hinzufügen von Validierungssteuerelementen zum EditItemTemplate der DataList ist, um eine narrensichere Bearbeitungsbenutzeroberfläche bereitzustellen.
Einführung
In den Tutorials zur DataList-Bearbeitung haben die DataLists-Bearbeitungsschnittstellen bisher keine proaktive Überprüfung von Benutzereingaben enthalten, obwohl ungültige Benutzereingaben wie ein fehlender Produktname oder ein negativer Preis zu einer Ausnahme führen. Im vorherigen Tutorial haben wir untersucht, wie Sie dem DataList-Ereignishandler Ausnahmebehandlungscode UpdateCommand
hinzufügen, um Informationen zu ausgelösten Ausnahmen abzufangen und ordnungsgemäß anzuzeigen. Im Idealfall enthält die Bearbeitungsoberfläche jedoch Validierungssteuerelemente, um zu verhindern, dass ein Benutzer solche ungültigen Daten überhaupt eingibt.
In diesem Tutorial erfahren Sie, wie einfach das Hinzufügen von Validierungssteuerelementen zu Den DataLists ist, um eine narrensicherere Bearbeitungs-Benutzeroberfläche EditItemTemplate
bereitzustellen. In diesem Tutorial wird insbesondere das im vorherigen Tutorial erstellte Beispiel verwendet und die Bearbeitungsschnittstelle erweitert, um eine entsprechende Überprüfung einzubeziehen.
Schritt 1: Replizieren des Beispiels aus derBehandlung von BLL- und DAL-Level-Ausnahmen
Im Tutorial Umgang mit BLL- und DAL-Level-Ausnahmen haben wir eine Seite erstellt, auf der die Namen und Preise der Produkte in einer zweispaltigen, bearbeitbaren DataList aufgeführt sind. Unser Ziel für dieses Tutorial besteht darin, die Bearbeitungsoberfläche der DataList um Validierungssteuerelemente zu erweitern. Insbesondere wird unsere Validierungslogik Folgendes ausführen:
- Fordern Sie, dass der Name des Produkts angegeben wird.
- Stellen Sie sicher, dass der für den Preis eingegebene Wert ein gültiges Währungsformat ist.
- Stellen Sie sicher, dass der für den Preis eingegebene Wert größer oder gleich 0 ist, da ein negativer
UnitPrice
Wert illegal ist.
Bevor wir uns mit der Erweiterung des vorherigen Beispiels befassen können, um die Validierung einzubeziehen, müssen wir zuerst das Beispiel von der ErrorHandling.aspx
Seite im EditDeleteDataList
Ordner auf die Seite für dieses Tutorial replizieren. UIValidation.aspx
Um dies zu erreichen, müssen wir sowohl das deklarative Markup der ErrorHandling.aspx
Seite als auch den Quellcode kopieren. Kopieren Sie zuerst das deklarative Markup, indem Sie die folgenden Schritte ausführen:
- Öffnen der
ErrorHandling.aspx
Seite in Visual Studio - Wechseln Sie zum deklarativen Markup der Seite (klicken Sie unten auf der Seite auf die Schaltfläche Quelle).
- Kopieren Sie den Text in die
<asp:Content>
Tags und</asp:Content>
(Zeilen 3 bis 32), wie in Abbildung 1 dargestellt.
Abbildung 2: Kopieren des Texts innerhalb des <asp:Content>
Steuerelements (Klicken Sie, um das Bild in voller Größe anzuzeigen)
UIValidation.aspx
Seite öffnen- Wechseln Sie zum deklarativen Markup der Seite.
- Fügen Sie den Text in das
<asp:Content>
Steuerelement ein.
Um den Quellcode zu kopieren, öffnen Sie die ErrorHandling.aspx.vb
Seite, und kopieren Sie nur den Text innerhalb der EditDeleteDataList_ErrorHandling
Klasse. Kopieren Sie die drei Ereignishandler (Products_EditCommand
, Products_CancelCommand
, und Products_UpdateCommand
) zusammen mit der DisplayExceptionDetails
-Methode, aber kopieren Sie nicht die Klassendeklaration oder using
-anweisungen. Fügen Sie den kopierten Text in die EditDeleteDataList_UIValidation
-Klasse ein UIValidation.aspx.vb
.
Nehmen Sie sich einen Moment Zeit, um die Seiten in einem Browser zu testen, nachdem Sie den Inhalt und den Code von ErrorHandling.aspx
nach UIValidation.aspx
verschoben haben. Auf jeder dieser beiden Seiten sollte dieselbe Ausgabe und dieselbe Funktionalität angezeigt werden (siehe Abbildung 2).
Abbildung 2: Die UIValidation.aspx
Seite ahmt die Funktionalität in ErrorHandling.aspx
nach (Klicken Sie hier, um das Bild in voller Größe anzuzeigen)
Schritt 2: Hinzufügen der Validierungssteuerelemente zur EditItemTemplate von DataList
Beim Erstellen von Dateneingabeformularen ist es wichtig, dass Benutzer alle erforderlichen Felder eingeben und dass alle bereitgestellten Eingaben legale, ordnungsgemäß formatierte Werte sind. Um sicherzustellen, dass die Eingaben eines Benutzers gültig sind, stellt ASP.NET fünf integrierte Validierungssteuerelemente bereit, die den Wert eines einzelnen Eingabewebsteuerelements überprüfen:
- RequiredFieldValidator stellt sicher, dass ein Wert bereitgestellt wurde
- CompareValidator überprüft einen Wert mit einem anderen Websteuerelementwert oder einem konstanten Wert oder stellt sicher, dass das Format des Werts für einen angegebenen Datentyp zulässig ist.
- RangeValidator stellt sicher, dass sich ein Wert innerhalb eines Wertebereichs befindet.
- RegularExpressionValidator überprüft einen Wert anhand eines regulären Ausdrucks.
- CustomValidator überprüft einen Wert anhand einer benutzerdefinierten Methode.
Weitere Informationen zu diesen fünf Steuerelementen finden Sie im Tutorial Hinzufügen von Validierungssteuerelementen zum Bearbeiten und Einfügen von Schnittstellen oder im Abschnitt Validierungssteuerelemente der ASP.NET Schnellstart-Tutorials.
Für unser Tutorial müssen wir einen RequiredFieldValidator verwenden, um sicherzustellen, dass ein Wert für den Produktnamen und ein CompareValidator angegeben wurde, um sicherzustellen, dass der eingegebene Preis einen Wert größer oder gleich 0 aufweist und in einem gültigen Währungsformat angezeigt wird.
Hinweis
Während ASP.NET 1.x die gleichen fünf Validierungssteuerelemente hatte, hat ASP.NET 2.0 eine Reihe von Verbesserungen hinzugefügt. Die Standard zwei sind clientseitige Skriptunterstützung für Browser sowie internetbasierte Explorer und die Möglichkeit, Validierungssteuerelemente auf einer Seite in Validierungsgruppen zu partitionieren. Weitere Informationen zu den neuen Validierungssteuerelementfeatures in 2.0 finden Sie unter Zersektieren der Validierungssteuerelemente in ASP.NET 2.0.
Beginnen wir mit dem Hinzufügen der erforderlichen Validierungssteuerelemente zu dataList s EditItemTemplate
. Diese Aufgabe kann über den Designer ausgeführt werden, indem Sie im Smarttag des DataList-Smarttags auf den Link Vorlagen bearbeiten klicken oder die deklarative Syntax verwenden. Führen Sie den Prozess mithilfe der Option Vorlagen bearbeiten in der Entwurfsansicht durch. Nachdem Sie die DataList s bearbeiten ausgewählt haben, fügen Sie einen RequiredFieldValidator hinzu, indem Sie ihn aus der Toolbox in die Vorlagenbearbeitungsoberfläche EditItemTemplate
ziehen und hinter dem ProductName
Textfeld platzieren.
Abbildung 3: Hinzufügen eines RequiredFieldValidators zum EditItemTemplate After
ProductName
Textfeld (Klicken Sie hier, um das bild in voller Größe anzuzeigen)
Alle Validierungssteuerelemente funktionieren, indem die Eingabe eines einzelnen ASP.NET Websteuerelements überprüft wird. Daher müssen wir angeben, dass der RequiredFieldValidator, den wir gerade hinzugefügt haben, anhand des ProductName
TextBox-Steuerelements überprüfen soll. Dies geschieht, indem die Eigenschaft des Validierungssteuerelements auf die ID
des entsprechenden Websteuerelements ControlToValidate
festgelegt wird (ProductName
in dieser instance). Legen Sie als Nächstes die ErrorMessage
Eigenschaft auf Sie müssen den Namen des Produkts und die Text
Eigenschaft auf * angeben. Der Text
Eigenschaftswert ist, sofern angegeben, der Text, der vom Validierungssteuerelement angezeigt wird, wenn die Überprüfung fehlschlägt. Der ErrorMessage
erforderliche Eigenschaftswert wird vom ValidationSummary-Steuerelement verwendet. Wenn der Text
Eigenschaftswert ausgelassen wird, wird der ErrorMessage
Eigenschaftswert vom Validierungssteuerelement bei ungültiger Eingabe angezeigt.
Nachdem Sie diese drei Eigenschaften des RequiredFieldValidator festgelegt haben, sollte Ihr Bildschirm ähnlich wie Abbildung 4 aussehen.
Abbildung 4: Festlegen der Eigenschaften Von RequiredFieldValidator, ControlToValidate
ErrorMessage
und Text
(Klicken Sie hier, um das bild in voller Größe anzuzeigen)
Wenn der RequiredFieldValidator hinzugefügt EditItemTemplate
wird, bleibt nur noch die erforderliche Validierung für den Preis des Produkts TextBox hinzuzufügen. Da beim UnitPrice
Bearbeiten eines Datensatzes optional ist, müssen wir keinen RequiredFieldValidator hinzufügen. Wir müssen jedoch einen CompareValidator hinzufügen, um sicherzustellen, dass , UnitPrice
falls angegeben, ordnungsgemäß als Währung formatiert ist und größer oder gleich 0 ist.
Fügen Sie den CompareValidator hinzu EditItemTemplate
, und legen Sie seine ControlToValidate
Eigenschaft auf UnitPrice
fest, seine ErrorMessage
Eigenschaft auf Der Preis muss größer oder gleich Null sein und kann das Währungssymbol nicht enthalten, und seine Text
Eigenschaft auf *. Um anzugeben, dass der UnitPrice
Wert größer oder gleich 0 sein muss, legen Sie die Eigenschaft CompareValidator auf Operator
GreaterThanEqual
, ihre ValueToCompare
Eigenschaft auf 0 und ihre Type
Eigenschaft auf festCurrency
.
Nach dem Hinzufügen dieser beiden Validierungssteuerelemente EditItemTemplate
sollte die deklarative Syntax der DataList wie folgt aussehen:
<EditItemTemplate>
Product name:
<asp:TextBox ID="ProductName" runat="server"
Text='<%# Eval("ProductName") %>'></asp:TextBox>
<asp:RequiredFieldValidator ID="RequiredFieldValidator1"
ControlToValidate="ProductName"
ErrorMessage="You must provide the product's name"
runat="server">*</asp:RequiredFieldValidator>
<br />
Price:
<asp:TextBox ID="UnitPrice" runat="server"
Text='<%# Eval("UnitPrice", "{0:C}") %>'></asp:TextBox>
<asp:CompareValidator ID="CompareValidator1"
ControlToValidate="UnitPrice"
ErrorMessage="The price must be greater than or equal to zero
and cannot include the currency symbol"
Operator="GreaterThanEqual" Type="Currency" ValueToCompare="0"
runat="server">*</asp:CompareValidator><br />
<br />
<asp:Button ID="UpdateProduct" runat="server" CommandName="Update"
Text="Update" />
<asp:Button ID="CancelUpdate" runat="server" CommandName="Cancel"
Text="Cancel" />
</EditItemTemplate>
Nachdem Sie diese Änderungen vorgenommen haben, öffnen Sie die Seite in einem Browser. Wenn Sie versuchen, beim Bearbeiten eines Produkts den Namen wegzulassen oder einen ungültigen Preiswert einzugeben, wird neben dem Textfeld ein Sternchen angezeigt. Wie Abbildung 5 zeigt, gilt ein Preiswert, der das Währungssymbol enthält, z. B. 19,95 USD, als ungültig. Der CompareValidator s ermöglicht Zifferntrennzeichen (z. B. Kommas oder Punkte, abhängig von den Kultureinstellungen) und ein führendes Currency
Type
Plus- oder Minuszeichen , aber kein Währungssymbol. Dieses Verhalten kann Benutzer verstutzen, da die Bearbeitungsschnittstelle derzeit das UnitPrice
Währungsformat rendert.
Abbildung 5: Ein Sternchen wird neben den Textfelder mit ungültiger Eingabe angezeigt (Klicken Sie hier, um das Bild in voller Größe anzuzeigen)
Während die Überprüfung unverändert funktioniert, muss der Benutzer das Währungssymbol beim Bearbeiten eines Datensatzes manuell entfernen, was nicht akzeptabel ist. Wenn außerdem ungültige Eingaben in der Bearbeitungsoberfläche vorhanden sind, rufen weder die Schaltflächen Aktualisieren noch Abbrechen ein Postback auf, wenn darauf geklickt wird. Im Idealfall wird die DataList mit der Schaltfläche Abbrechen unabhängig von der Gültigkeit der Eingaben des Benutzers in den Zustand vor der Bearbeitung zurückgeführt. Außerdem müssen wir sicherstellen, dass die Daten der Seite gültig sind, bevor sie die Produktinformationen im DataList-Ereignishandler UpdateCommand
aktualisieren, da die clientseitige Logik der Validierungssteuerung von Benutzern umgangen werden kann, deren Browser entweder JavaScript nicht unterstützen oder deren Unterstützung deaktiviert ist.
Entfernen des Währungssymbols aus dem EditItemTemplate-UnitPrice-Textfeld
Bei Verwendung von CompareValidator s Currency``Type
darf die zu überprüfende Eingabe keine Währungssymbole enthalten. Das Vorhandensein solcher Symbole bewirkt, dass compareValidator die Eingabe als ungültig markiert. Unsere Bearbeitungsoberfläche enthält jedoch derzeit ein Währungssymbol im UnitPrice
Textfeld, was bedeutet, dass der Benutzer das Währungssymbol explizit entfernen muss, bevor er seine Änderungen speichert. Um dies zu beheben, haben wir drei Optionen:
- Konfigurieren Sie die
EditItemTemplate
so, dass derUnitPrice
TextBox-Wert nicht als Währung formatiert ist. - Ermöglichen Sie dem Benutzer die Eingabe eines Währungssymbols, indem Sie den CompareValidator entfernen und durch einen RegularExpressionValidator ersetzen, der nach einem ordnungsgemäß formatierten Währungswert sucht. Die Herausforderung besteht hier darin, dass der reguläre Ausdruck zum Überprüfen eines Währungswerts nicht so einfach ist wie der CompareValidator und das Schreiben von Code erforderlich wäre, wenn wir Kultureinstellungen integrieren möchten.
- Entfernen Sie das Validierungssteuerelement vollständig, und verlassen Sie sich auf benutzerdefinierte serverseitige Validierungslogik
RowUpdating
im GridView-Ereignishandler.
Lassen Sie uns mit Option 1 für dieses Tutorial fortfahren. Derzeit ist der UnitPrice
als Währungswert formatiert, aufgrund des Datenbindungsausdrucks für das Textfeld in : EditItemTemplate
<%# Eval("UnitPrice", "{0:c}") %>
. Ändern Sie die Eval
Anweisung in Eval("UnitPrice", "{0:n2}")
, die das Ergebnis als Zahl mit zwei Ziffern der Genauigkeit formatiert. Dies kann direkt über die deklarative Syntax erfolgen oder durch Klicken auf den Link DataBindings bearbeiten im UnitPrice
Textfeld in der DataList s EditItemTemplate
.
Mit dieser Änderung enthält der formatierte Preis in der Bearbeitungsschnittstelle Kommas als Gruppentrennzeichen und einen Punkt als Dezimaltrennzeichen, lässt das Währungssymbol jedoch nicht.
Hinweis
Beim Entfernen des Währungsformats aus der bearbeitbaren Benutzeroberfläche finde ich es hilfreich, das Währungssymbol als Text außerhalb des Textfelds zu platzieren. Dies dient dem Benutzer als Hinweis, dass er das Währungssymbol nicht angeben muss.
Beheben der Schaltfläche "Abbrechen"
Standardmäßig geben die Validierungswebsteuerelemente JavaScript aus, um die Überprüfung auf der Clientseite durchzuführen. Wenn auf einen Button, LinkButton oder ImageButton geklickt wird, werden die Validierungssteuerelemente auf der Seite clientseitig aktiviert, bevor das Postback erfolgt. Wenn ungültige Daten vorhanden sind, wird das Postback abgebrochen. Für bestimmte Schaltflächen kann die Gültigkeit der Daten jedoch unwesentlich sein; in einem solchen Fall ist es ein Ärgernis, dass das Postback aufgrund ungültiger Daten abgebrochen wird.
Die Schaltfläche Abbrechen ist ein solches Beispiel. Stellen Sie sich vor, ein Benutzer gibt ungültige Daten ein, z. B. das Weglassen des Produktnamens, und entscheidet dann, dass er das Produkt nicht speichern möchte und auf die Schaltfläche Abbrechen klickt. Derzeit löst die Schaltfläche Abbrechen die Validierungssteuerelemente auf der Seite aus, die melden, dass der Produktname fehlt, und verhindert das Postback. Unser Benutzer muss Text in das ProductName
Textfeld eingeben, nur um den Bearbeitungsvorgang abzubrechen.
Glücklicherweise verfügen Button, LinkButton und ImageButton über eine CausesValidation
Eigenschaft , die angeben kann, ob das Klicken auf die Schaltfläche die Validierungslogik initiieren soll (standardmäßig auf True
). Legen Sie die Eigenschaft Cancel Button s CausesValidation
auf fest False
.
Sicherstellen, dass die Eingaben im UpdateCommand-Ereignishandler gültig sind
Aufgrund des clientseitigen Skripts, das von den Validierungssteuerelementen ausgegeben wird, brechen die Überprüfungssteuerelemente alle Postbacks ab, die von Button-, LinkButton- oder ImageButton-Steuerelementen initiiert werden, deren CausesValidation
Eigenschaften (Standard) sind True
. Wenn ein Benutzer jedoch einen veralteten Browser besucht oder dessen JavaScript-Unterstützung deaktiviert wurde, werden die clientseitigen Überprüfungsprüfungen nicht ausgeführt.
Alle ASP.NET Validierungssteuerelemente wiederholen ihre Validierungslogik sofort nach dem Postback und melden die Gesamtgültigkeit der Eingaben der Seite über die Page.IsValid
-Eigenschaft. Der Seitenfluss wird jedoch basierend auf dem Wert von Page.IsValid
nicht unterbrochen oder in keiner Weise beendet. Als Entwickler liegt es in unserer Verantwortung sicherzustellen, dass die Page.IsValid
Eigenschaft einen Wert von True
hat, bevor Sie mit Code fortfahren, der gültige Eingabedaten annimmt.
Wenn ein Benutzer JavaScript deaktiviert hat, unsere Seite besucht, ein Produkt bearbeitet, einen Preiswert von Zu teuer eingibt und auf die Schaltfläche Aktualisieren klickt, wird die clientseitige Überprüfung umgangen und ein Postback erfolgt. Beim Postback wird der ASP.NET-Ereignishandler der UpdateCommand
Seite ausgeführt, und eine Ausnahme wird ausgelöst, wenn versucht wird, Zu teuer zu analysieren.Decimal
Da wir ausnahmebehandlung haben, wird eine solche Ausnahme ordnungsgemäß behandelt, aber wir könnten verhindern, dass die ungültigen Daten überhaupt durchrutschen, indem wir nur mit dem UpdateCommand
Ereignishandler fortfahren, wenn Page.IsValid
der Wert von True
aufweist.
Fügen Sie dem Start des Ereignishandlers unmittelbar vor dem Try
Block den UpdateCommand
folgenden Code hinzu:
If Not Page.IsValid Then
Exit Sub
End If
Mit dieser Ergänzung versucht das Produkt nur, aktualisiert zu werden, wenn die übermittelten Daten gültig sind. Die meisten Benutzer können ungültige Daten aufgrund der clientseitigen Überprüfungssteuerelemente nicht postbacken, aber Benutzer, deren Browser javaScript nicht unterstützen oder die JavaScript-Unterstützung deaktiviert haben, können die clientseitigen Überprüfungen umgehen und ungültige Daten übermitteln.
Hinweis
Der kluge Leser wird sich daran erinnern, dass wir beim Aktualisieren von Daten mit gridView die Eigenschaft in der Page.IsValid
CodeBehind-Klasse unserer Seite nicht explizit überprüfen mussten. Dies liegt daran, dass die GridView die Page.IsValid
-Eigenschaft für uns konsultiert und nur dann mit der Aktualisierung fortfährt, wenn der Wert zurückgegeben wird True
.
Schritt 3: Zusammenfassen von Dateneingabeproblemen
Zusätzlich zu den fünf Validierungssteuerelementen enthält ASP.NET das ValidationSummary-Steuerelement, das die ErrorMessage
s dieser Validierungssteuerelemente anzeigt, die ungültige Daten erkannt haben. Diese Zusammenfassungsdaten können als Text auf der Webseite oder über ein modales, clientseitiges Meldungsfeld angezeigt werden. Lassen Sie uns dieses Tutorial erweitern, um ein clientseitiges Meldungsfeld aufzunehmen, das alle Validierungsprobleme zusammenfasst.
Ziehen Sie dazu ein ValidationSummary-Steuerelement aus der Toolbox auf die Designer. Der Speicherort des ValidationSummary-Steuerelements spielt keine rolle, da wir es so konfigurieren, dass nur die Zusammenfassung als Meldungsfeld angezeigt wird. Legen Sie nach dem Hinzufügen des Steuerelements seine ShowSummary
Eigenschaft auf False
und seine ShowMessageBox
Eigenschaft auf fest True
. Mit dieser Ergänzung werden alle Validierungsfehler in einem clientseitigen Meldungsfeld zusammengefasst (siehe Abbildung 6).
Abbildung 6: Die Überprüfungsfehler werden in einem Client-Side Meldungsfeld zusammengefasst (Klicken Sie hier, um das bild in voller Größe anzuzeigen)
Zusammenfassung
In diesem Tutorial haben wir erfahren, wie Sie die Wahrscheinlichkeit von Ausnahmen verringern können, indem Sie Validierungssteuerelemente verwenden, um proaktiv sicherzustellen, dass die Benutzereingaben gültig sind, bevor Sie versuchen, sie im Aktualisierungsworkflow zu verwenden. ASP.NET bietet fünf Validierungswebsteuerelemente, die für die Überprüfung der Eingabe eines bestimmten Websteuerelements konzipiert sind und die Gültigkeit der Eingabe zurückgeben. In diesem Tutorial haben wir zwei dieser fünf Steuerelemente verwendet: RequiredFieldValidator und CompareValidator, um sicherzustellen, dass der Produktname angegeben wurde und dass der Preis ein Währungsformat mit einem Wert größer oder gleich 0 hatte.
Das Hinzufügen von Validierungssteuerelementen zur Bearbeitungsschnittstelle von DataList ist so einfach, wie sie aus der Toolbox auf die EditItemTemplate
zu ziehen und eine Reihe von Eigenschaften festzulegen. Standardmäßig geben die Überprüfungssteuerelemente automatisch ein clientseitiges Überprüfungsskript aus. Sie bieten auch eine serverseitige Überprüfung beim Postback und speichern das kumulative Ergebnis in der Page.IsValid
-Eigenschaft. Um die clientseitige Überprüfung zu umgehen, wenn auf einen Button, LinkButton oder ImageButton geklickt wird, legen Sie die Eigenschaft der Schaltfläche CausesValidation
auf fest False
. Stellen Sie außerdem sicher, dass die Page.IsValid
-Eigenschaft zurückgibt True
, bevor Sie Aufgaben mit den beim Postback übermittelten Daten ausführen.
Alle Bisher untersuchten Tutorials zur DataList-Bearbeitung hatten sehr einfache Bearbeitungsschnittstellen, ein TextBox für den Produktnamen und eine andere für den Preis. Die Bearbeitungsschnittstelle kann jedoch eine Mischung aus verschiedenen Websteuerelementen enthalten, z. B. DropDownLists, Kalender, RadioButtons, CheckBoxes usw. In unserem nächsten Tutorial untersuchen wir das Erstellen einer Schnittstelle, die eine Vielzahl von Websteuerelementen verwendet.
Viel Spaß beim Programmieren!
Zum Autor
Scott Mitchell, Autor von sieben ASP/ASP.NET-Büchern und Gründer von 4GuysFromRolla.com, arbeitet seit 1998 mit Microsoft-Webtechnologien. Scott arbeitet als unabhängiger Berater, Trainer und Autor. Sein neuestes Buch ist Sams Teach Yourself ASP.NET 2.0 in 24 Stunden. Er kann unter mitchell@4GuysFromRolla.comoder über seinen Blog erreicht werden, der unter http://ScottOnWriting.NETzu finden ist.
Besonderen Dank an
Diese Tutorialreihe wurde von vielen hilfreichen Prüfern überprüft. Leitende Prüfer für dieses Tutorial waren Dennis Patterson, Ken Pespisa und Liz Shulok. Möchten Sie meine anstehenden MSDN-Artikel lesen? Wenn dies der Fall ist, legen Sie eine Zeile unter abmitchell@4GuysFromRolla.com.
Feedback
https://aka.ms/ContentUserFeedback.
Bald verfügbar: Im Laufe des Jahres 2024 werden wir GitHub-Issues stufenweise als Feedbackmechanismus für Inhalte abbauen und durch ein neues Feedbacksystem ersetzen. Weitere Informationen finden Sie unterFeedback senden und anzeigen für