pages 項目 (ASP.NET 設定結構描述)

針對組態檔範圍內的網頁和控制項,定義網頁特定之全域組態設定,如 ASP.NET 指示詞。

<pages     
   asyncTimeout="number"
   autoEventWireup="[True|False]"
   buffer="[True|False]"
   clientIDMode="[AutoID|Predictable|Static]"
   compilationMode="[Always|Auto|Never]" 
   controlRenderingCompatibilityVersion="[3.5|4.0]"
   enableEventValidation="[True|False]"
   enableSessionState="[True|False|ReadOnly]"
   enableViewState="[True|False]"
   enableViewStateMac="[True|False]"
   maintainScrollPositionOnPostBack="[True|False]" 
   masterPageFile="file path" 
   maxPageStateFieldLength="number" 
   pageBaseType="typename, assembly"
   pageParserFilterType="string" 
   smartNavigation="[True|False]"
   styleSheetTheme="string"
   theme="string"
   userControlBaseType="typename"
   validateRequest="[True|False]"
   viewStateEncryptionMode="[Always|Auto|Never]" 
>
   <controls>...</controls>
   <namespaces>...</namespaces>
   <tagMapping>...</tagMapping>
   <ignoreDeviceFilters>...</ignoreDeviceFilters>
</pages>

屬性和項目

下列各節將說明屬性、子項目和父項目。

屬性

屬性

描述

asyncTimeout

選擇性 TimeSpan 屬性。

指定在非同步 (Asynchronous) 處理期間,等候非同步處理常式執行完成的秒數。

這個屬性是 .NET Framework 2.0 版中新增的屬性。

預設為 "0:00:45" (45 秒)。

autoEventWireup

選擇性 Boolean 屬性。

指定是否自動啟用網頁事件。 只有在自動事件連線發生,也就是系統自動附加特定簽章 (Signature,例如 Page_Load) 的方法時,這個屬性才會具有作用。 如需詳細資訊,請參閱ASP.NET Web 伺服器控制項事件模型

預設為 True。

buffer

選擇性 Boolean 屬性。

指定 URL 資源是否使用回應緩衝。

預設為 True。

clientIDMode

指定要用來產生控制項之 ClientID 值的演算法。 預設值是 Predictable。 控制項的預設值為 Inherit。 因此,頁面中控制項的預設演算法是由頁面的 ClientIDMode 設定所決定。 可在頁面的 @ Page 指示詞、或使用者控制項的 @ Control 指示詞中,設定不同的預設值。 如需演算法的詳細資訊,請參閱 ClientIDModeASP.NET Web 伺服器控制項識別

compilationMode

選擇性 CompilationMode 屬性。

指定是否應該在執行階段編譯 ASP.NET 網頁或控制項。

compilationMode 屬性是 .NET Framework 2.0 中新增的屬性。 這個屬性可以是下列其中一個可能值。 預設值為 Always。

值描述
Always 此頁面應該始終都要編譯。
Auto 可能的話,ASP.NET 將不會編譯此頁面。
Never 此頁面或控制項應該永遠都不要動態編譯。如果網頁包含需要編譯的指令碼區塊或程式碼建構,ASP.NET 便會傳回錯誤,而且網頁也不會執行。

controlRenderingCompatibilityVersion

指定控制項是否應向 HTML 呈現控制項在舊版 ASP.NET 中的作業方式,或為目前版本所設計的作業方式。

注意事項注意事項
controlRenderingCompatibilityVersion 是 ASP.NET 4 的新功能。設定為目前版本號碼的效果與不設定的效果相同。不論是哪一種狀況,控制項會依照為目前版本的設計呈現 HTML。最早版本的這個屬性設定為 3.5。

如需詳細資訊,請參閱 PagesSection.ControlRenderingCompatibilityVersionControl.RenderingCompatibility 屬性。

enableEventValidation

指定網頁和控制項是否驗證回傳和回呼事件。 預設為 True。

enableSessionState

選擇性 String 屬性。

指定組態檔範圍內資源的工作階段狀態需求。

enableSessionState 屬性可以是下列其中一個可能值。 預設為 True。

值描述
False 表示停用工作階段狀態。
ReadOnly 表示不可寫入工作階段狀態。
True 表示啟用工作階段狀態。

enableViewState

選擇性 Boolean 屬性。

指定是否啟用檢視狀態,並於多個網頁要求中維持該狀態。

預設為 True。

enableViewStateMac

選擇性 Boolean 屬性。

指定 ASP.NET 是否應該在網頁從用戶端回傳時,執行網頁檢視狀態的訊息驗證碼 (MAC)。 如果是 True,則會檢查加密的檢視狀態,以確認該狀態在用戶端上沒有受到更動。

預設為 True。

maintainScrollPositionOnPostBack

選擇性 Boolean 屬性。

指定將網頁回傳至伺服器時,是否要讓使用者返回用戶端瀏覽器中的相同位置。 如果為 False,使用者便會在回傳時返回網頁頂端。

這個屬性是 .NET Framework 2.0 中新增的屬性。

預設值為 False。

masterPageFile

選擇性 String 屬性。

指定相對於本機組態檔的主版頁面路徑。 masterPageFile 屬性設定為 True 的網頁必須包含 Content 控制項,以做為最上層控制項。

這個屬性是 .NET Framework 2.0 中新增的屬性。

預設為空字串 ("")。

maxPageStateFieldLength

選擇性 Int32 屬性。

指定網頁狀態欄位的最大字元長度。 如果設定為正數,便會將傳送到用戶端瀏覽器的檢視狀態欄位分成多個區塊 (Chunk),而且每個區塊都會小於 maxPageStateFieldLength 屬性所指定的大小。 如果設定為負數,就表示不該將檢視狀態欄位切割成多個區塊。

這個屬性是 .NET Framework 2.0 中新增的屬性。

預設值為 "-1"。

pageBaseType

選擇性 String 屬性。

指定僅供網頁為獨立時所使用的基底。 此屬性會由獨立檔案中的 inherits 屬性所覆寫。

預設值為 "System.Web.UI.Page"。

pageParserFilterType

選擇性 String 屬性。

指定篩選條件的型別名稱,讓 ASP.NET 剖析器 (Parser) 在剖析階段中用來判斷網頁中是否允許某個項目。 此篩選條件必須衍生自 PageParserFilter 類別。

這個屬性是 .NET Framework 2.0 中新增的屬性。

預設為空字串 ("")。

smartNavigation

選擇性 Boolean 屬性。

指定是否啟用智慧型巡覽。 智慧型巡覽需要使用 Microsoft Internet Explorer 5.5 或更新版本。 啟用智慧型巡覽可以為使用者提供下列好處:

  • 消除巡覽時的閃爍狀況。

  • 持續各網頁間的捲動位置。

  • 持續各網頁間的項目焦點。

  • 瀏覽器上的記錄中只會保留網頁的最後狀態。

這個屬性是 .NET Framework 2.0 中新增的屬性,但是已經被 maintainScrollPositionOnPostBack 屬性所取代。

預設值為 False。

styleSheetTheme

選擇性 String 屬性。

指定在控制項宣告之前,用以套用主題的 "named theme" 資料夾的名稱,此屬性是相對於在控制項宣告後才定義套用之主題的主題屬性。

這個屬性是 .NET Framework 2.0 中新增的屬性。

預設為空字串 ("")。

theme

選擇性 String 屬性。

指定用於組態檔範圍內網頁的主題名稱。 指定的主題必須存在,而且必須是應用程式或全域主題。 如果主題不存在,則會擲回 HttpException 例外狀況。

這個屬性是 .NET Framework 2.0 中新增的屬性。

預設為空字串 ("")。

userControlBaseType

選擇性 String 屬性。

指定僅供網頁為獨立時所使用的基底。

預設是 "System.Web.UI.UserControl".

validateRequest

選擇性 Boolean 屬性。

表示 ASP.NET 檢查瀏覽器的所有輸入,查看是否有具有潛在危險的資料。 如果是 True,則會執行要求驗證,方法是將所有輸入資料與具有潛在危險的數值清單進行比較。 如果找到符合的資料,ASP.NET 便會引發 HttpRequestValidationException 例外狀況。

預設為 True。

viewStateEncryptionMode

選擇性 ViewStateEncryptionMode 屬性。

指定檢視狀態的加密模式。 ViewStateEncryptionMode 屬性 (Property) 會覆寫組態檔中所設定的這個屬性 (Attribute)。

這個屬性可以是下列其中一個可能值。

值描述
Always 永遠加密檢視狀態。
Auto 如果控制項要求,便會加密檢視狀態。
Never 即使控制項要求,也絕不加密檢視狀態。

這個屬性是 .NET Framework 2.0 中新增的屬性。

預設值為 Auto。

子項目

項目

描述

controls

定義標記前置詞所在的 Register 指示詞和命名空間的集合。

namespaces

定義組件先行編譯期間所要使用的 import 指示詞集合。

tagMapping

定義編譯時期重新對應到其他標記類型的標記類型集合。

ignoreDeviceFilters

定義瀏覽器必須忽略頁面呈現的裝置項目集合。 如需詳細資訊,請參閱IgnoreDeviceFilters

父項目

項目

描述

configuration

Common Language Runtime 和 .NET Framework 架構的應用程式所使用之每一個組態檔中的必要根項目 (Root Element)。

system.web

指定組態檔中 ASP.NET 組態設定的根項目 (Root Element),並包含會設定 ASP.NET Web 應用程式以及控制這些應用程式之行為的組態項目。

備註

pages 項目定義網頁的特定組態設定。 這個組態區段提供相關支援,可以針對組態檔範圍內的所有網頁和控制項,設定特定的全域 ASP.NET Web 網頁和控制項指示詞。 包括下列網頁層級的指示詞,這些指示詞指定網頁和使用者控制項編譯器 (Compiler) 在處理 ASP.NET Web Form 網頁 (.aspx) 和使用者控制項 (.ascx) 檔案時所使用的設定。

pages 項目也支援在執行階段中透過 tagMapping 項目,將標記類型對應到其他標記類型。

注意事項注意事項

@ Page 指示詞加入主版頁面,並不能讓您在相依於該主版頁面的網頁中使用相同的指示詞宣告。請使用 pages 組態項目定義全域網頁指示詞。

預設的組態

下列預設 pages 項目不會明確地設定在 Machine.config 檔案或根 Web.config 檔案中。 然而,應用程式傳回的是預設組態。 命名空間和控制項會加入根目錄 Web.config 檔中。

<pages 
   buffer="true" 
   clientIDMode="AutoID" 
   enableSessionState="true" 
   enableViewState="true" 
   enableViewStateMac="true" 
   smartNavigation="false" 
   autoEventWireup="true" 
   pageBaseType="System.Web.UI.Page" 
   userControlBaseType="System.Web.UI.UserControl" 
   validateRequest="true" 
   masterPageFile="" 
   theme="" 
   styleSheetTheme="" 
   maxPageStateFieldLength="-1" 
   compilationMode="Always" 
   pageParserFilterType="" 
   viewStateEncryptionMode="Auto" 
   maintainScrollPositionOnPostBack="false" 
   asyncTimeout="45"
>
   <namespaces>
      <clear />
   </namespaces>
   <tagMapping>
      <clear />
   </tagMapping>
</pages>

範例

下列程式碼範例示範如何指定數個網頁組態設定。

<configuration>
   <system.web>
      <pages buffer="true"
         enableSessionState="true"
         autoEventWireup="true"
         maintainScrollPositionOnPostBack="true"
         masterPageFile = "~/Masters/Page1.master" />
  </system.web>
</configuration>

項目資訊

組態區段處理常式

PagesSection

組態成員

Pages

Page

可設定的位置

Machine.config

根層次的 Web.config

應用程式層級的 Web.config

虛擬或實體目錄層級 Web.config

需求

Microsoft Internet Information Services (IIS) 5.0 或更新版本

.NET Framework 1.0 版或更新版本

Microsoft Visual Studio 2003 (含) 以後版本

請參閱

工作

HOW TO:使用位置設定來設定特定的目錄

HOW TO:鎖定 ASP.NET 組態設定

參考

configuration 項目 (一般設定結構描述)

頁面的 controls 項目 (ASP.NET 設定結構描述)

頁面的 namespaces 項目 (ASP.NET 設定結構描述)

頁面的 tagMapping 項目 (ASP.NET 設定結構描述)

system.web 項目 (ASP.NET 設定結構描述)

@ Page

System.Configuration

System.Web.Configuration

Page

PagesSection

概念

ASP.NET 組態檔階層架構和繼承

保護 ASP.NET 組態

其他資源

一般組態設定 (ASP.NET)

ASP.NET 組態設定

ASP.NET 網站管理

ASP.NET 組態 API