ASP.NET-Webseiten – Seitenlayout


Mit Webseiten ist es einfach, eine Website mit einem einheitlichen Layout zu erstellen.


Ein konsistenter Look

Im Internet werden Sie viele Websites mit einem einheitlichen Erscheinungsbild entdecken:

  • Jede Seite hat die gleiche Kopfzeile
  • Jede Seite hat die gleiche Fußzeile
  • Jede Seite hat den gleichen Stil und das gleiche Layout

Mit Webseiten kann dies sehr effizient durchgeführt werden. Sie können wiederverwendbare Inhaltsblöcke (Inhaltsblöcke) wie Kopf- und Fußzeilen in separaten Dateien haben.

Sie können auch ein einheitliches Layout für alle Ihre Seiten definieren, indem Sie eine Layoutvorlage (Layoutdatei) verwenden.


Inhaltsblöcke

Viele Websites haben Inhalte, die auf jeder Seite angezeigt werden (wie Kopf- und Fußzeilen).

Bei Webseiten können Sie die Methode @RenderPage() verwenden, um Inhalte aus separaten Dateien zu importieren.

Inhaltsblöcke (aus einer anderen Datei) können überall auf einer Webseite importiert werden und können Text, Markup und Code enthalten, genau wie jede normale Webseite.

Am Beispiel gängiger Kopf- und Fußzeilen erspart Ihnen das viel Arbeit. Sie müssen nicht denselben Inhalt auf jede Seite schreiben, und wenn Sie die Kopf- oder Fußzeilendateien ändern, wird der Inhalt auf allen Ihren Seiten aktualisiert.

So sieht es im Code aus:

Beispiel

<html>
<body>
@RenderPage("header.cshtml")
<h1>Hello Web Pages</h1>
<p>This is a paragraph</p>
@RenderPage("footer.cshtml")
</body>
</html>


Verwenden einer Layoutseite

Im vorherigen Abschnitt haben Sie gesehen, dass es einfach ist, denselben Inhalt auf vielen Webseiten einzufügen.

Ein weiterer Ansatz zum Erstellen eines konsistenten Aussehens ist die Verwendung einer Layoutseite. Eine Layoutseite enthält die Struktur, aber nicht den Inhalt einer Webseite. Wenn eine Webseite (Inhaltsseite) mit einer Layoutseite verknüpft ist, wird sie entsprechend der Layoutseite (Vorlage) angezeigt.

Die Layoutseite ist genau wie eine normale Webseite, abgesehen von einem Aufruf der Methode @RenderBody() , wo die Inhaltsseite eingefügt wird.

Jede Inhaltsseite muss mit einer Layout-Direktive beginnen .

So sieht es im Code aus:

Layoutseite:

<html>
<body>
<p>This is header text</p>
@RenderBody()
<p>&copy; 2014 W3Schools. All rights reserved.</p>
</body>
</html>

Beliebige Webseite:

@{Layout="Layout.cshtml";}

<h1>Welcome to W3Schools</h1>

<p>
Lorem ipsum dolor sit amet, consectetur adipisicing elit,sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laborisnisi ut aliquip ex ea commodo consequat.
</p>

DRY - Wiederholen Sie sich nicht

Mit zwei ASP.NET-Tools, Inhaltsblöcken und Layoutseiten, können Sie Ihren Webanwendungen ein einheitliches Aussehen verleihen.

Diese Tools ersparen Ihnen auch viel Arbeit, da Sie nicht auf allen Seiten die gleichen Informationen wiederholen müssen. Die Zentralisierung von Markup, Stil und Code macht Webanwendungen viel besser verwaltbar und einfacher zu warten.


Verhindern, dass Dateien durchsucht werden

Mit ASP.NET können Dateien, deren Name mit einem Unterstrich beginnt, nicht im Internet durchsucht werden.

Wenn Sie verhindern möchten, dass Ihre Inhaltsblöcke oder Layoutdateien von Ihren Benutzern angezeigt werden, benennen Sie die Dateien um in:

_header.cshtml

_footer.cshtml

_Layout.cshtml


Ausblenden sensibler Informationen

Bei ASP.NET besteht die übliche Methode zum Verbergen vertraulicher Informationen (Datenbankkennwörter, E-Mail-Kennwörter usw.) darin, die Informationen in einer separaten Datei mit dem Namen „_AppStart“ aufzubewahren.

_AppStart.cshtml

@{
WebMail.SmtpServer = "mailserver.example.com";
WebMail.EnableSsl = true;
WebMail.UserName = "[email protected]";
WebMail.Password = "your-password";
WebMail.From = "[email protected]";
}