In diesem Abschnitt wird die Verwendung von vorgestellt
ASP.NET WebPages, um ein einheitliches Seitenlayout zu erreichen.Mit Web Pages ist die Erstellung einer einheitlich gestalteten Website ganz einfach.
Im Internet finden Sie viele Websites, die ein einheitliches Erscheinungsbild haben:
Jede Seite hat die gleiche Kopfzeile
Jede Seite hat die gleiche Unterseite
Jede Seite hat den gleichen Stil und das gleiche Layout
Mit Webseiten können Sie dies sehr effizient tun. Sie können wiederverwendete Inhaltsblöcke (z. B. Seitenkopf- und -fußzeilen) in eine separate Datei schreiben.
Sie können auch Layoutvorlagen (Layoutdateien) verwenden, um ein einheitliches Layout für alle Seiten Ihrer Website zu definieren.
Viele Websites verfügen über bestimmte Inhalte, die auf jeder Seite der Website angezeigt werden (z. B. in der Kopf- und Fußzeile der Seite).
Mit Web Pages können Sie die Methode @RenderPage() verwenden, um Inhalte aus verschiedenen Dateien zu importieren.
Inhaltsblöcke (aus einer anderen Datei) können überall auf der Webseite importiert werden. Inhaltsblöcke können wie jede normale Webseite Text, Markup und Code enthalten.
Das Schreiben gemeinsamer Kopf- und Fußzeilen in separate Dateien erspart Ihnen viel Arbeit. Sie müssen nicht auf jeder Seite den gleichen Inhalt schreiben. Wenn sich der Inhalt ändert, müssen Sie nur die Kopfzeile oder die untere Datei ändern, und Sie werden sehen, dass der entsprechende Inhalt jeder Seite der Site aktualisiert wurde.
Das Folgende zeigt, wie es im Code erscheint:
<html> <body> @RenderPage("header.cshtml") <h1>Hallo Webseiten</h1> <p>Dies ist ein Absatz</p> @RenderPage("footer.cshtml") </body> </html>
Im vorherigen Abschnitt haben Sie gesehen, dass es sehr einfach ist, denselben Inhalt auf mehreren Webseiten anzuzeigen.
Eine weitere Möglichkeit, ein einheitliches Erscheinungsbild zu erzielen, ist die Verwendung von Layoutseiten. Eine Layoutseite enthält die Struktur der Webseite, nicht den Inhalt. Wenn eine Webseite (Inhaltsseite) mit einer Layoutseite verknüpft ist, wird sie entsprechend der Struktur der Layoutseite (Vorlage) angezeigt.
Die @RenderBody()- Methode wird verwendet, um die Inhaltsseite in die Layoutseite einzubetten. Ansonsten unterscheidet sie sich nicht von einer normalen Webseite.
Jede Inhaltsseite muss mit einer Layoutanweisung beginnen.
Das Folgende zeigt, wie es im Code erscheint:
<html> <body> <p>Dies ist Header-Text</p> @RenderBody() <p>© 2012 W3CSchool. Alle Rechte vorbehalten.</p> </body> </html>
@{Layout="Layout.cshtml";} <h1>Willkommen bei w3cschool.cn</h1> <p> Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua ex ea commodo consequat. </p>
Mit den beiden ASP.NET-Tools „Content Blocks“ und „Layout Pages“ können Sie Ihren Webanwendungen ein einheitliches Erscheinungsbild verleihen.
Diese beiden Tools können Ihnen viel Arbeit ersparen, da Sie nicht auf jeder Seite dieselben Informationen wiederholen müssen. Zentralisiertes Markup, Stile und Code erleichtern die Verwaltung und Wartung Ihrer Webanwendungen.
In ASP.NET beginnen Dateinamen mit einem Unterstrich, um zu verhindern, dass diese Dateien online angezeigt werden.
Wenn Sie nicht möchten, dass Ihre Inhaltsblöcke oder Layoutseiten für Ihre Benutzer sichtbar sind, können Sie diese Dateien umbenennen:
_header.cshtm
_footer.cshtml
_Layout.cshtml
In ASP.NET besteht die häufigste Methode zum Verbergen vertraulicher Informationen (Datenbankkennwörter, E-Mail-Kennwörter usw.) darin, diese Informationen in einer separaten Datei mit dem Namen „_AppStart“ zu speichern.
@{ WebMail.SmtpServer = "mailserver.example.com"; WebMail.UserName = "[email protected]"; WebMail.From = "your-name [email protected]"; }
Oben geht es um den Layoutinhalt von ASP.NET WebPages. Wenn Sie ein bequemeres und einheitlicheres Webseitenlayout wünschen, können Sie ASP.NET Web Pages für das Layout ausprobieren.