ASP.NET-Webseiten - Objekte


 Bei Webseiten geht es oft um Objekte.


Das Seitenobjekt

Sie haben bereits einige Page Object-Methoden im Einsatz gesehen:

@RenderPage("header.cshtml")

@RenderBody()

Im vorherigen Kapitel haben Sie gesehen, dass zwei Seitenobjekteigenschaften verwendet werden (IsPost und Request):

If (IsPost) {

if (Request["Choice"] != null) {

Einige Seitenobjektmethoden

Method Description
href Builds a URL using the specified parameters
RenderBody() Renders the portion of a content page that is not within a named section (In layout pages)
RenderPage(page) Renders the content of one page within another page
RenderSection(section) Renders the content of a named section (In layout pages)
Write(object) Writes the object as an HTML-encoded string
WriteLiteral Writes an object without HTML-encoding it first.


Einige Eigenschaften von Seitenobjekten

Property Description
IsPost Returns true if the HTTP data transfer method used by the client is a POST request
Layout Gets or sets the path of a layout page
Page Provides property-like access to data shared between pages and layout pages
Request Gets the HttpRequest object for the current HTTP request
Server Gets the HttpServerUtility object that provides web-page processing methods

Die Page-Eigenschaft (des Page-Objekts)

Die Page-Eigenschaft des Page-Objekts bietet eigenschaftsähnlichen Zugriff auf Daten, die von Seiten und Layoutseiten gemeinsam genutzt werden.

Sie können Ihre eigenen Eigenschaften zur Seiteneigenschaft verwenden (hinzufügen):

  • Seitentitel
  • Seite.Version
  • Seite.beliebig

Die Seiten-Eigenschaft ist sehr hilfreich. So ist es beispielsweise möglich, den Seitentitel in Inhaltsdateien festzulegen und in der Layoutdatei zu verwenden:

Startseite.cshtml

@{
Layout="~/Shared/Layout.cshtml";
Page.Title="Home Page"
}


<h1>Welcome to W3Schools</h1>

<h2>Web Site Main Ingredients</h2>

<p>A Home Page (Default.cshtml)</p>
<p>A Layout File (Layout.cshtml)</p>
<p>A Style Sheet (Site.css)</p>

Layout.cshtml

<!DOCTYPE html>
<html>
<head>
<title>@Page.Title</title>
</head>
<body>
@RenderBody()
</body>
</html>