- ASP.NET WP 教程
- ASP.NET WP - 首頁
- ASP.NET WP - 概述
- ASP.NET WP - 環境設定
- ASP.NET WP - 入門
- ASP.NET WP - 檢視引擎
- 專案資料夾結構
- ASP.NET WP - 全域性頁面
- ASP.NET WP - 程式設計概念
- ASP.NET WP - 佈局
- ASP.NET WP - 使用表單
- ASP.NET WP - 頁面物件模型
- ASP.NET WP - 資料庫
- ASP.NET WP - 向資料庫新增資料
- ASP.NET WP - 編輯資料庫資料
- ASP.NET WP - 刪除資料庫資料
- ASP.NET WP - WebGrid
- ASP.NET WP - 圖表
- ASP.NET WP - 處理檔案
- ASP.NET WP - 處理影像
- ASP.NET WP - 處理影片
- ASP.NET WP - 新增電子郵件
- ASP.NET WP - 新增搜尋
- 向網站新增社交網路功能
- ASP.NET WP - 快取
- ASP.NET WP - 安全性
- ASP.NET WP - 釋出
- ASP.NET WP 有用資源
- ASP.NET WP - 快速指南
- ASP.NET WP - 有用資源
- ASP.NET WP - 討論
ASP.NET WP - 頁面物件模型
ASP.NET 中最基本的物件是頁面。您可以直接訪問頁面物件的屬性,無需任何限定物件。在前面的章節中,我們使用了一些頁面物件屬性和方法,例如 Layout、RenderPage 和 RenderBody。WebPageBase 類是表示 ASP.NET Razor 頁面的類的基類。
頁面物件模型的屬性和方法
以下是頁面物件的一些最常用屬性。
| 序號 | 屬性和描述 |
|---|---|
| 1 | IsPost 如果客戶端使用的 HTTP 資料傳輸方法是 POST 請求,則返回 true。 |
| 2 | Layout 獲取或設定佈局頁面的路徑。 |
| 3 | Output 獲取頁面的當前 TextWriter 物件。 |
| 4 | Page 提供對頁面和佈局頁面之間共享的資料的類似屬性的訪問。 |
| 5 | Request 獲取當前 HTTP 請求的 HttpRequest 物件。 |
| 6 | Server 獲取提供網頁處理方法的 HttpServerUtility 物件。 |
以下是頁面物件的一些最常用方法。
| 序號 | 方法和描述 |
|---|---|
| 1 | ConfigurePage 在派生類中重寫時,根據父網頁的配置配置當前網頁。 |
| 2 | DefineSection 由內容頁面呼叫以建立命名內容部分。 |
| 3 | ExecutePageHierarchy() 執行一組依賴網頁中的程式碼。 |
| 4 | GetOutputWriter 返回用於呈現頁面的文字寫入器例項。 |
| 5 | href 使用指定的引數構建 URL。 |
| 6 | InitializePage 初始化當前頁面。 |
| 7 | IsSectionDefined 返回一個值,指示頁面中是否定義了指定的節。 |
| 8 | PopContext 返回並從 OutputStack 例項的頂部刪除上下文。 |
| 9 | PushContext 將指定的上下文插入 OutputStack 例項的頂部。 |
| 10 | RenderBody() 呈現內容頁面中不在命名節內的那一部分(在佈局頁面中)。 |
| 11 | RenderPage(page) 在一個頁面內呈現另一個頁面的內容。 |
| 12 | RenderSection(section) 呈現命名節的內容(在佈局頁面中)。 |
| 13 | Write(object) 將物件作為 HTML 編碼的字串寫入。 |
| 14 | WriteLiteral 寫入物件,而不先進行 HTML 編碼。 |
讓我們來看一個頁面物件 Page 屬性的簡單示例,該屬性提供對頁面和佈局頁面之間共享資料的類似屬性的訪問。在此示例中,我們將使用 Page.Title 屬性設定頁面的標題。
以下是 MyLayoutPage.cshtml 檔案的實現,其中我們設定了頁面標題。
@{
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>
現在我們需要在 _Layout.cshtml 頁面中指定相同的頁面標題,如下面的程式碼所示。
@{ }
<!DOCTYPE html>
<html lang = "en">
<head>
<title>@Page.Title</title>
<link href = "@Href("/Styles/Site.css")" rel = "stylesheet" type = "text/css" />
</head>
<body>
@RenderPage("/Shared/_Header.cshtml")
<div id = "main">@RenderBody()</div>
@RenderPage("/Shared/_Footer.cshtml")
</body>
</html>
讓我們執行應用程式並指定以下 URL:https://:46023/MyLayoutPage,然後您將看到以下頁面。
如您所見,標題現在是佈局頁面,我們使用頁面物件的 Page 屬性設定了它。
讓我們來看另一個簡單的示例,在其中我們將使用頁面物件的 Request 屬性。
@{
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>
您可以使用頁面的 Request 物件獲取頁面的檔案路徑和 URL。讓我們再次執行您的應用程式,您將看到以下輸出。