Die ganzen Themen rund um die Entwicklung von Webanwendungen sind natürlich nutzlos, wenn Sie die Anwendung dann über das Internet nutzen können. Also schauen wir uns in diesem Beitrag an, wie wir unsere mit Datenbankanbindung versehene Webanwendung aus dem Artikel »Razor Pages mit Datenbankanbindung« ins Internet bringen.
Genau wie in Desktop-Anwendung ist auch in Webanwendungen die Validierung der Benutzereingaben ein wichtiges Feature. Unter ASP.NET Core gibt es für die Razor Pages erfreulicherweise eine Standardvorgehensweise, die wir in diesem Artikel vorstellen werden.
In weiteren Artikeln dieser Ausgabe haben wir uns mit ASP.NET Core und den Razor Pages beschäftigt. Der vorliegende Artikel zeigt, wie Sie beim Erstellen eines neuen Projekts automatisch die Elemente für eine Benutzerverwaltung zum Projekt hinzufügen können. Damit werden automatisch etwa die notwendigen Datenbanktabellen angelegt und Elemente für die Anmeldung und die Registrierung hinzugefügt.
Nachdem Sie in weiteren Artikeln einige Grundlagen zur Programmierung Razor Pages mit ASP.NET Core kennengelernt haben, geht es nun einen Schritt weiter: Wir wollen eine erste kleine Anwendung für den Zugriff auf die Daten einer Datenbank programmieren. Dazu beginnen wir mit einer kleinen Tabelle, für die wir eine Übersicht und eine Detailseite zum Ansehen und Bearbeiten der einzelnen Felder erstellen. Die Übersicht soll natürlich auch eine Möglichkeit zum Hinzufügen und Löschen der Datensätze bieten.
Wer Anwendungen für den Desktop entwickelt hat, kennt die Vorgehensweise: Bei einem Klick auf OK werden die eingegebenen Werte in einer Ereignisprozedur ausgewertet, gespeichert oder anderen Schritten unterzogen. Bei Internetanwendungen ist das aufgrund der Eigenarten der Browser etwas anders. Hier klicken Sie zwar nach der Eingabe von Daten auch auf eine Schaltfläche, um die Daten zu verarbeiten, aber es gibt dort keine Ereignisprozeduren im klassischen Sinne. Wie die Datenverarbeitung hier geschieht, zeigt der vorliegende Artikel.
Wenn Sie eine Webanwendung zur Verwaltung von Daten programmieren, wollen Sie Daten anzeigen, eingeben, löschen und so weiter. Das gelingt nicht ohne Navigation zwischen den verschiedenen Seiten. Die Hauptseiten sind über die Navigationsleisten erreichbar, aber wenn Sie etwa einen bestimmten Datensatz anzeigen, Daten von einer Seite zur nächsten übermitteln oder nach dem Löschen eines Datensatzes wieder die Übersicht einblenden wollen, benötigen Sie entsprechende Techniken. Dieser Artikel zeigt, wie Sie mit Links, Senden von Formularen und anderen Methoden von Seite zu Seite gelangen und die gewünschten Daten übermitteln. Dabei spielen auch die Ereignis-Handler einer Seite eine Rolle.
Wenn Sie am Desktop arbeiten, können Sie E-Mails einfach per Outlook verschicken. Das gelingt auch ferngesteuert etwa von einer Desktop-Anwendung auf Basis von .NET aus. Wenn Sie jedoch Mails sicher über eine Webanwendung verschicken wollen, wird es interessant. Sollten Sie keinen eigenen Mailserver auf dem Internetserver betreiben, können Sie auf einen Dienstleister ausweichen, der Ihnen eine entsprechende Schnittstelle anbietet. Microsoft empfiehlt hier den Anbieter Sendgrid. Wir zeigen, wie Sie sich registrieren und für den ASP-gesteuerten Versand von E-Mails vorbereiten. Der Clou: Bis zu einer bestimmten Menge von E-Mails ist der Service kostenlos.
Wer einmal eine Webseite mit CSS designt hat, weiß, wie aufwendig das ist. Selbst das Anpassen bestehender Seiten ist nicht gerade intuitiv, wenn man sonst eher in der Programmierung unterwegs ist. Manchmal führt allerdings kein Weg um Designarbeit herum, und dann ist es wichtig, ein gutes Tool an der Hand zu haben. Die mit ASP.NET Core Razor Pages verwendete Technik namens Bootstrap können Sie beispielsweise mit dem Tool Bootstrap Studio sehr gut in den Griff bekommen. Dieser Artikel zeigt die grundlegenden Schritte zum Designen einer Webanwendung mit Bootstrap Studio.
Wer bisher mit VBA oder C# gearbeitet hat und zu VB wechseln möchte, sieht sich bei der Entwicklung von WPF-Anwendungen einigen Änderungen gegenüber. Dieser Artikel liefert die Grundlagen zum Umgang mit Namespaces und zur Programmierung von Klassen. Zum Experimentieren mit den Beispielen nutzen wir das Tool LINQPad 5.
In den bisherigen Ausgaben haben wir immer mit dem Database First-Ansatz gearbeitet, das heißt, dass wir unser Entity Data Model auf Basis einer bestehenden Datenbank im SQL Server oder SQLite generiert haben. Das geht auch andersherum: Sie erstellen ein paar Klassen, geben eine Verbindungszeichenfolge an und beim ersten Versuch, auf die Daten der Datenbank zuzugreifen, erstellt die Anwendung automatisch die Datenbank im angegebenen SQL Server. Wie das gelingt und wie die Klassen und die Verbindungszeichenfolge aussehen müssen, erfahren Sie in diesem Beitrag.
Im Artikel »EDM: Der Code First-Ansatz« haben wir uns angesehen, wie Sie auf Basis eines frisch erstellten Entity Data Models eine Datenbank samt den nötigen Tabellen erstellen können – und zwar automatisch beim ersten Zugriff auf die noch nicht vorhandene Datenbank. Nun gehen wir einen Schritt weiter und zeigen, wie Sie auch noch Änderungen am Entity Data Model auf bestehende Datenbanken mit älterem Versionsstand übertragen und somit ein kombiniertes Update von Anwendung und Datenbank ausliefern können.
Für unsere Lösung zum Erstellen und Verwalten von Word-Dokumenten aus dem Artikel »Briefe mit Word erstellen« benötigen wir eine Möglichkeit zum Anlegen und Verwalten von Adressen. Dazu wollen wir ein eigenes Fenster erstellen, dass eine Übersicht der Adressen in einer Liste, eine kleine Suchfunktion sowie die Details der aktuell in der Liste ausgewählten Adresse oder einer neuen Adresse anzeigt. Die Lösung soll natürlich über ein Entity Data Model an eine entsprechende Tabelle gebunden werden.