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"
renderAllHiddenFieldsAtTopOfForm="[True|False]"
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 Server Control Event Model。 預設為 True。 |
buffer |
選擇性 Boolean 屬性。 指定 URL 資源是否使用回應緩衝。 預設為 True。 |
clientIDMode |
指定要用來產生控制項之 ClientID 值的演算法。 預設值是 Predictable。 控制項的預設值為 Inherit。 因此,頁面中控制項的預設演算法是由頁面的 ClientIDMode 設定所決定。 可在頁面的 @ Page 指示詞、或使用者控制項的 @ Control 指示詞中,設定不同的預設值。 如需演算法的詳細資訊,請參閱 ClientIDMode 和 ASP.NET Control Identification。 |
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.ControlRenderingCompatibilityVersion 和 Control.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 中新增的屬性。 預設為空字串 ("")。 |
renderAllHiddenFieldsAtTopOfForm |
選擇性 Boolean 屬性。 指定是否所有系統產生的隱藏的欄位的方式都呈現在表單的頂端。 這個屬性是 .NET Framework 3.5 中新增的屬性。 預設為 True。 |
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) 檔案時所使用的設定。
@ Page 指示詞 (@ Page)。
透過 namespaces 子項目指定的 @ Import 指示詞 (@ Import)。
透過 controls 子項目指定的 @ Register 指示詞 (@ Register)。
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>
項目資訊
組態區段處理常式 |
|
組態成員 |
|
可設定的位置 |
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: Configure Specific Folders Using Location Settings
How to: Lock ASP.NET Configuration Settings
參考
頁面的 controls 項目 (ASP.NET 設定結構描述)
頁面的 namespaces 項目 (ASP.NET 設定結構描述)
頁面的 tagMapping 項目 (ASP.NET 設定結構描述)
system.web 項目 (ASP.NET 設定結構描述)
概念
ASP.NET Configuration File Hierarchy