- ASP.NET WP - Publish
- ASP.NET WP - Security
- ASP.NET WP - Caching
- Add Social Networking to the Website
- ASP.NET WP - Add Search
- ASP.NET WP - Add Email
- ASP.NET WP - Working with Videos
- ASP.NET WP - Working with Images
- ASP.NET WP - Working with Files
- ASP.NET WP - Charts
- ASP.NET WP - WebGrid
- ASP.NET WP - Delete Database Data
- ASP.NET WP - Edit Database Data
- ASP.NET WP - Add Data to Database
- ASP.NET WP - Database
- ASP.NET WP - Page Object Model
- ASP.NET WP - Working with Forms
- ASP.NET WP - Layouts
- ASP.NET WP - Programming Concepts
- ASP.NET WP - Global Pages
- Project Folder Structure
- ASP.NET WP - View Engines
- ASP.NET WP - Getting Started
- ASP.NET WP - Environment Setup
- ASP.NET WP - Overview
- ASP.NET WP - Home
ASP.NET WP Useful Resources
Selected Reading
- Who is Who
- Computer Glossary
- HR Interview Questions
- Effective Resume Writing
- Questions and Answers
- UPSC IAS Exams Notes
ASP.NET WP - Page Object Model
The most basic object in ASP.NET is the page. You can access properties of the page object directly without any quapfying object. In the previous chapters, we have used some of the properties and methods of page object pke Layout, RenderPage and RenderBody. WebPageBase Class is the base class for classes that represent an ASP.NET Razor page.
Properties and Methods of Page Object Model
Following are some of the most commonly used properties of Page Object.
S.No | Property & Description |
---|---|
1 | IsPost Returns true if the HTTP data transfer method used by the cpent is a POST request. |
2 | Layout Gets or sets the path of a layout page. |
3 | Output Gets the current TextWriter object for the page. |
4 | Page Provides property-pke access to data shared between pages and layout pages |
5 | Request Gets the HttpRequest object for the current HTTP request. |
6 | Server Gets the HttpServerUtipty object that provides web-page processing methods. |
Following are some of the most commonly used methods of Page Object.
S.No | Method & Description |
---|---|
1 | ConfigurePage When overridden in a derived class, configures the current web page based on the configuration of the parent web page. |
2 | DefineSection Called by content pages to create named content sections. |
3 | ExecutePageHierarchy() Executes the code in a set of dependent web pages. |
4 | GetOutputWriter Returns the text writer instance that is used to render the page. |
5 | href Builds a URL using the specified parameters |
6 | InitiapzePage Initiapzes the current page. |
7 | IsSectionDefined Returns a value that indicates whether the specified section is defined in the page. |
8 | PopContext Returns and removes the context from the top of the OutputStack instance. |
9 | PushContext Inserts the specified context at the top of the OutputStack instance. |
10 | RenderBody() Renders the portion of a content page that is not within a named section (In layout pages) |
11 | RenderPage(page) Renders the content of one page within another page |
12 | RenderSection(section) Renders the content of a named section (In layout pages) |
13 | Write(object) Writes the object as an HTML-encoded string |
14 | WriteLiteral Writes an object without HTML-encoding it first. |
Let’s have a look into a simple example of Page property of Page Object which provides property-pke access to data shared between pages and layout pages. In this example, we will set the title of the page using the Page.Title property.
Here is the implementation of MyLayoutPage.cshtml file in which we have set the page title.
@{ Layout = "~/_Layout.cshtml"; page.Title = "Layout Page"; } <h1> H1 Heading from the Layout page </h1> <p> This is the Main Body part from the Layout page</p>
Now we need to specify the same page title in the _Layout.cshtml page as shown in the following code.
@{ } <!DOCTYPE html> <html lang = "en"> <head> <title>@Page.Title</title> <pnk href = "@Href("/Styles/Site.css")" rel = "stylesheet" type = "text/css" /> </head> <body> @RenderPage("/Shared/_Header.cshtml") <span id = "main">@RenderBody()</span> @RenderPage("/Shared/_Footer.cshtml") </body> </html>
Let’s run the apppcation and specify the following url − http://localhost:46023/MyLayoutPage then you will see the following page.
As you can see the title is now a Layout Page which we have set using the Page property of Page object.
Let’s have a look into another simple example in which we will use the Request Property of Page object
@{ Layout = "~/_Layout.cshtml"; Page.Title = "Layout Page"; var path = Request.FilePath; var pageUrl = this.Request.Url; } <h1> H1 Heading from the Layout page </h1> <p> This is the Main Body part from the Layout page</p> <a href = "@pageUrl">My page</a> <p>Page Url: @pageUrl</p> <p>File Path: @path</p>
You can get the page s file path and URL using the Request object of the page. Let’s run your apppcation again and you will see the following output.
Advertisements