ASP.NET Web Pages Objects

 Web Pages is much often about Objects

The Page Object

You have already seen some Page Object methods in use:

@RenderPage("header.cshtml")

@RenderBody()

In the previous chapter you saw two Page Object properties being used (IsPost, and Request):

If (IsPost) {

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

Some Page Object Methods

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.

Some Page Object Properties

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

The Page Property (of the Page Object)

The Page property of the Page Object, provides property-like access to data shared between pages and layout pages.

You can use (add) your own properties to the Page property:

  • Page.Title
  • Page.Version
  • Page.anythingyoulike
  • The pages property is very helpful. For instance, it makes it possible to set the page title in content files, and use it in the layout file:

    Home.cshtml

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


    <h1>Welcome to w3resource</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>