@ Page 頁面指令 參考

來源:互聯網
上載者:User

定義 ASP.NET 頁分析器和編譯器使用的頁特定(.aspx 檔案)屬性。

<%@ Page attribute="value" [attribute="value"...] %>
 

屬性
Async
使頁成為非同步處理常式(即,導致頁使用 IHttpAsyncHandler 的實現來處理請求)。

預設值為 false。

AsyncTimeOut
定義在處理非同步任務時使用的逾時時間間隔(以秒為單位)。預設值為 45 秒。

該值必須是整數。

AspCompat
當設定為 true 時,允許在單一執行緒 Apartment (STA) 線程上執行頁。這允許頁調用 STA 組件,例如用 Microsoft Visual Basic 6.0 開發的組件。將該屬性設為 true 還允許頁調用 COM+ 1.0 版組件,該組件要求可以訪問非託管 Active Server Pages (ASP) 內建對象。可以通過 ObjectContext 對象或 OnStartPage 方法訪問它們。預設值為 false。

注意
將該屬性設定為 true 可能導致頁的效能降低。有關更多資訊,請參見“備忘”一節。
 

AutoEventWireup
指示頁的事件是否自動綁定。如果啟用了事件自動綁定,則為 true;否則為 false。預設值為 true。有關更多資訊,請參見 ASP.NET Web 伺服器控制項事件模型。

Buffer
確定是否啟用了 HTTP 響應緩衝。如果啟用了頁緩衝,則為 true;否則為 false。

預設值為 true。

ClassName
一個字串,指定在請求頁時將自動進行動態編譯的頁的類名。此值可以是任何有效類名,並且可以包括類的完整命名空間(完整類名)。如果未指定該屬性的值,則已編譯頁的類名將基於頁的檔案名稱。

其他頁可以通過使用 @ Reference 指令來引用分配給第一頁的類名。

ClientTarget
指示 ASP.NET 伺服器控制項應該為其呈現內容的目標使用者代理程式(通常是 網頁瀏覽器,例如 Microsoft Internet Explorer)。該值可以是應用程式設定檔的 <clientTarget> 節中定義的任何有效別名。

CodeBehind
指定包含與頁關聯的類的已編譯檔案的名稱。該屬性不能在運行時使用。

注意
提供此屬性是為了與以前版本的 ASP.NET 的相容,以實現程式碼後置功能。在 ASP.NET 2.0 版中,應改用 CodeFile 屬性指定該源檔案的名稱,同時使用 Inherits 屬性指定該類的完全限定名稱。
 

CodeFile
指定指向頁引用的程式碼後置檔案的路徑。此屬性與 Inherits 屬性一起使用可以將程式碼後置源檔案與網頁相關聯。此屬性僅對編譯的頁有效。

CodeFileBaseClass
指定頁的基類及其關聯的程式碼後置類別的路徑。此屬性是可選的,但如果使用此屬性,則必須同時使用 CodeFile 屬性。如果希望實現以下共用方案,可使用該屬性:在該共用方案中,您在基類中定義通用欄位(可以選擇性地定義關聯事件)以引用在網頁中聲明的控制項。出於 ASP.NET 代碼產生模型的緣故,如果您在基類中定義欄位時沒有使用該屬性,則編譯時間將為在網頁中(在單獨的部分類別存根中)聲明的控制項產生新的成員定義,而您希望的方案將無法生效。但是,如果您使用 CodeFileBaseClass 屬性將基類與頁相關聯,並且您的部分類別(其名稱分配給 Inherits 屬性,並且其源檔案由 CodeFile 屬性引用)是從該基類繼承的,則該基類中的欄位在代碼產生之後將能夠引用頁上的控制項。

CodePage
指示用於響應的編碼方案的值。該值是一個用作編碼方案 ID 的整數。有關可能的 CodePage ID 的列表,請參見 Encoding 類。

CompilationMode
設定是否應使用指定多個枚舉選項之一的字串來編譯頁。預設值為 Always,因此,預設情況下編譯 .aspx 頁。有關詳細資料,請參見 CompilationMode 枚舉。

CompilerOptions
包含用於編譯頁的編譯器選項的字串。在 C# 和 Visual Basic 中,這是編譯器命令列開關的序列。有關編譯器選項的更多資訊,請參見 C# 編譯器選項或 Visual Basic 編譯器。

ContentType
將響應的 HTTP 內容類型定義為標準的 MIME 類型。支援任何有效 HTTP 內容類型字串。有關可能值的列表,請在 MSDN Library 中搜尋 MIME。

Culture
指示頁的地區性設定。該屬性的值必須是有效地區性 ID。注意,LCID 和 Culture 屬性是互斥的;如果使用了其中一個屬性,就不能在同一頁中使用另一個屬性。有關可能的地區性值的更多資訊,請參見 CultureInfo 類。

Debug
指示是否應使用偵錯符號編譯該頁。如果應使用偵錯符號編譯該頁,則為 true;否則為 false。由於此設定影響效能,因此只應在開發期間將此屬性設定為 true。

Description
提供該頁的文本說明。ASP.NET 分析器忽略該值。

EnableEventValidation
在回傳方案中啟用事件驗證。如果驗證事件,則為 true;否則為 false。預設值為 true。

EnableSessionState
定義頁的工作階段狀態要求。如果啟用了工作階段狀態,則為 true;如果可以讀取工作階段狀態但不能變更,則為 ReadOnly;否則為 false。預設值為 true。這些值是不區分大小寫。有關更多資訊,請參見 ASP.NET 工作階段狀態。

EnableTheming
指示是否在頁上使用主題。如果使用主題,則為 true;否則為 false。預設值為 true。

EnableViewState
指示是否在頁請求之間保持檢視狀態。如果要保持檢視狀態,則為 true;否則為 false。預設值為 true。

EnableViewStateMac
指示當頁從用戶端回傳時,ASP.NET 是否應該對頁的檢視狀態運行電腦身分識別驗證檢查 (MAC)。如果應該對檢視狀態運行 MAC 檢查,則為 true;否則為 false。預設值為 false。

注意
檢視狀態 MAC 是隱藏變數的加密版本,當某頁被發送到瀏覽器時,該頁的檢視狀態永久保持到該變數中。當您將此屬性設定為 true 時,將檢查加密的檢視狀態以驗證它在用戶端未被篡改。注意,將此屬性設定為 true 會影響效能,因為在頁的每次往返行程中,都必須加密和解密變數值。
 

ErrorPage
定義在出現未處理頁異常時用於重新導向的目標 URL。

Explicit
確定是否使用 Visual Basic Option Explicit 模式來編譯頁。如果啟用了 Visual Basic 顯式編譯選項,且所有變數必須使用 Dim、Private、Public 或 ReDim 語句來聲明,則為 true;否則為 false。預設值為 false。

注意
除了 Visual Basic,所有其他語言都忽略該屬性。此外,該選項在 Machine.config 設定檔中被設定為 true。有關更多資訊,請參見電腦設定檔。
 

Inherits
定義供頁繼承的程式碼後置類別。它可以是從 Page 類派生的任何類。它與 CodeFile 屬性(包含指向程式碼後置類別的源檔案的路徑)一起使用。有關程式碼後置類別的更多資訊,請參見 ASP.NET 網頁代碼模型。

Language
指定在對頁中的所有內聯呈現(<% %> 和 <%= %>)和代碼聲明塊進行編譯時間使用的語言。值可以表示任何 .NET Framework 支援的語言,包括 Visual Basic、C# 或 JScript。每頁只能使用和指定一種語言。

LCID
定義 Web Form頁的地區設定識別碼。

注意
地區設定識別碼是一個 32 位值,該值唯一地定義某個地區設定。除非您使用該屬性為 Web Form頁指定不同的地區設定,否則 ASP.NET 使用 Web 服務器預設的地區設定。注意,LCID 和 Culture 屬性是互斥的;如果使用了其中一個屬性,就不能在同一頁中使用另一個屬性。有關地區設定的更多資訊,請搜尋 MSDN Library。
 

LinePragmas
確定運行庫是否應在原始碼中產生行雜注。這些是編譯器選項,調試工具通常使用這些選項來標記源檔案中的特定位置。如果應該產生行雜注,則為 true;否則為 false。

MaintainScrollPositionOnPostback
指示在回傳後是否將使用者返回到用戶端瀏覽器中的同一位置。如果應該將使用者返回到同一位置,則為 true;否則為 false。預設值為 false。

注意
開發人員可以通過設定 Web.config 檔案的 <pages> 元素上的 maintainScrollPostitionOnPostback 屬性(注意,此屬性在設定檔中是區分大小寫),為所有頁定義該屬性。
 

MasterPageFile
設定內容頁的主版頁面或嵌套主版頁面的路徑。支援相對路徑和絕對路徑。

ResponseEncoding
指示用於包含頁內容的 HTTP 響應的編碼方案的名稱。分配給該屬性的值是有效編碼名稱。有關可能的編碼名稱的列表,請參見 Encoding 類。您也可以調用 GetEncodings 方法來擷取可能的編碼名稱和 ID 的列表。

SmartNavigation
指示頁是否支援 Internet Explorer 5.5 或更高版本的智能導航功能。如果啟用了智能導航,則為 true;否則為 false。預設值為 false。

您也可以在代碼中設定頁的 SmartNavigation 屬性 (Property),但通常應該將屬性 (Attribute) 與 @ Page 指令一起使用來設定該屬性 (Property)。有關該功能如何改進使用者在網頁上的導航體驗的更多資訊,請參見 SmartNavigation 屬性。

Src
指定包含連結到頁的代碼的源檔案的路徑。在連結的源檔案中,可以選擇將頁的編程邏輯包含在類中或代碼聲明塊中。

可以使用 Src 屬性將產生提供者連結到頁。有關更多資訊,請參見 BuildProvider 類。另外,在低於 2.0 版的 ASP.NET 中,Src 屬性是另一種將程式碼後置檔案連結到頁的方法。在 ASP.NET 2.0 中,將程式碼後置源檔案連結到頁的首選方法是使用 Inherits 屬性來指定類,並使用 CodeFile 屬性來指定該類的源檔案的路徑。

Strict
指示應使用 Visual Basic OptionStrict 模式來編譯頁。如果啟用了 Option Strict,則為 true;否則為 false。預設值為 false。

注意
除了 Visual Basic,所有其他語言都忽略該屬性。
 

StyleSheetTheme
指定在頁上使用的有效主題標識符。如果設定了 StyleSheetTheme 屬性,則單獨的控制項可以重寫主題中包含的樣式設定。這樣,主題可以提供網站的整體外觀,同時,利用 StyleSheetTheme 屬性中包含的設定可以自訂頁及其各個控制項的特定設定。

TargetSchema
指定用於驗證頁內容的方案的名稱。此屬性僅起描述性的作用,而不會真正執行驗證;分析器將忽略此屬性。

Theme
指定在頁上使用的有效主題標識符。如果設定 Theme 屬性時沒有使用 StyleSheetTheme 屬性,則將重寫控制項上的單獨的樣式設定,允許您建立統一而一致的頁外觀。

Title
指定在響應的 HTML <title> 標記中呈現的頁的標題。也可以通過編程方式將標題作為頁的屬性來訪問。有關詳細資料,請參見 Title 屬性。

Trace
指示是否啟用跟蹤。如果啟用了跟蹤,則為 true;否則為 false。預設值為 false。有關更多資訊,請參見 ASP.NET 跟蹤。

TraceMode
指示當啟用跟蹤時如何為頁顯示跟蹤訊息。可能的值為 SortByTime 和 SortByCategory。當啟用跟蹤時,預設值為 SortByTime。有關跟蹤的更多資訊,請參見 ASP.NET 跟蹤。

Transaction
指示在頁上是否支援事務。可能的值有 Disabled、NotSupported、Supported、Required 和 RequiresNew。預設值為 Disabled。

UICulture
指定用於頁的使用者介面 (UI) 地區性設定。支援任何有效 UI 文化特性值。

ValidateRequest
指示是否應發生請求驗證。如果為 true,請求驗證將根據具有潛在危險的值的寫入程式碼列表檢查所有輸入資料。如果出現匹配情況,將引發 HttpRequestValidationException 異常。預設值為 true。

該功能在電腦設定檔 (Machine.config) 中啟用。可以在應用程式設定檔 (Web.config) 中或在頁上將該屬性設定為 false 來禁用該功能。

注意
該功能有助於減少對簡單頁或 ASP.NET 應用程式進行跨網站指令碼攻擊的風險。如果應用程式不能正確驗證使用者輸入,則可能會受到多種類型的格式錯誤的輸入的攻擊,包括跨網站指令碼攻擊和 Microsoft SQL Server 注入式攻擊。應該仔細地評估應用程式中所有形式的輸入,並確保對它們進行了正確地驗證和編碼,或者確保應用程式在處理資料或將資訊發送回用戶端之前已退出。除此之外,別無它法。
 

ViewStateEncryptionMode
使用三個可能的枚舉值來確定如何加密檢視狀態:Auto、Always 或 Never。預設值為 Auto,表示如果單個控制項請求進行加密,將加密檢視狀態。有關更多資訊,請參見 ViewStateEncryptionMode 枚舉。

WarningLevel
指示您希望編譯器將警告視為錯誤(從而中止對頁進行編譯)的編譯器警告等級。可能的警告層級為 0 到 4。有關更多資訊,請參見 WarningLevel 屬性。

備忘
該指令只能在 Web Form頁中使用。每個 .aspx 檔案只能包含一條 @ Page 指令。此外,每條 @ Page 指令只能定義一個 Language 屬性,因為每頁只能使用一種語言。由於在原始碼或設定檔中,大多數屬性都提供了最常用的預設值,因此通常不需要向指令添加大量屬性。通常,應該添加指定希望頁具有的功能所需的最小屬性集。如果有一個想應用於所有頁的公用屬性(例如,希望在所有頁上啟用跟蹤),請考慮在 Web.config 檔案中啟用相應的功能,而不是向每個單獨的頁添加 Trace 屬性。

注意
@ Page 指令具有大量與應用於整個源檔案的其他指令(例如,在 Web 使用者控制項的 .ascx 檔案中使用的 @ Control 指令和在主版頁面的 .master 檔案中使用的 @ Master 指令)共用的屬性。
 

若要定義 @ Page 指令的多個屬性,請使用一個空格分隔每個屬性/值對。對於特定屬性,不要在將該屬性與其值相連的等號 (=) 兩側加空格。有關樣本,請參見本主題的“樣本”部分。

智能導航是 ASP.NET 的一個功能,Internet Explorer 5.5 和更高版本的瀏覽器都支援該功能。它使得在對頁進行重新整理時,仍可保持導航之間的滾動位置和元素焦點。這樣就只有一頁儲存在瀏覽器記錄中,也就不再有因重新整理網頁引起的常見的閃爍問題。智能導航在 ASP.NET 頁中的使用效果最好,因為 ASP.NET 頁要求頻繁地回傳,但可視化內容在返回時並不顯著改變。在決定是否將該屬性設定為 true 時,請認真考慮這一點。

當頁的 AspCompat 屬性設定為 true 時,如果計劃請求之前使用建構函式建立了 COM 組件,該請求將在多執行緒 Apartment (MTA) 線程上運行。這樣會導致 Web 服務器效能明顯下降。若要避免此問題,請只在一個 Page 事件(例如 Page_Load、Page_Init 等)或一個 Page 方法中建立 COM 組件。還應確保不要在構造頁時建立對象。

下面的程式碼範例示範一個在啟用 AspCompat 的情況下在頁中建立 COM 物件執行個體的建議方法。

C#  
<%@ Page AspCompat="true" language="C#" %>
<script runat="server" >

MyComObject comObj;

public void Page_Load(){
   // Use comObj here when the code is running on the STA thread pool.
   comObj = New MyComObject();
   // Do something with the combObj object.
}
 

Visual Basic  
<%@ Page AspCompat="true" language="VB" %>
<script runat="server" >

    Dim comObj As MyComObject

    Public Sub Page_Load()
     'Use comObj here when the code is running on the STA thread pool.
     comObj = New MyComObject()
     ' Do something with the combObj object.
    End Sub
</script>
 

注意
向主版頁面添加 @ Master 指令並不能使您可以在依賴該主版頁面的頁中使用相同的指令聲明。應改用 <pages> 元素在全域範圍內定義頁指令。
 

樣本
下面的程式碼範例指示 ASP.NET 頁編譯器使用 Visual Basic 作為頁的伺服器端代碼語言,並將傳輸到用戶端的預設 HTTP MIME ContentType 屬性設定為 "text/xml"。

  
<%@ Page Language="VB" ContentType="text/xml" %>
 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.