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,然後您將看到以下頁面。

Layout Cshtm

如您所見,標題現在是佈局頁面,我們使用頁面物件的 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。讓我們再次執行您的應用程式,您將看到以下輸出。

Heading Page
廣告

© . All rights reserved.