aspx頁面@Page指令解析


@Page指令位於每個ASP.NET頁面的頂部,告訴ASP.NET這個具體頁面使用什么屬性,以及該頁面繼承的用戶控件。ASP.NET頁面@Page指令屬性有:AspCompat、Async、AsyncTimeout、AutoEventWireup、Buffer、ClassName、ClientIDMode、CodeBehind、 CodeFile、CodeFileBaseClass、CodePage、CompilationMode 、ContentType、 CompilerOptions、Culture 、Debug、 EnableEventValidation、EnableSessionState、EnableTheming 、EnableViewState、 EnableViewStateMac 、ErrorPage 、Explicit、 Inherits、 Language、 LCID 、LinePragmas、MaintainScrollPositionOnPostback、 MasterPageFile、 MetaDescription 、MetaKeywords 、ResponseEncoding、Src、Strict、StylesheetTheme、Theme、Title、Trace 、TraceMode 、Transaction 、UICulture、 ValidateRequest、ViewStateEncryptionMode、ViewStateMode、WarningLevel。

      AspCompat通過設置頁面在單線程單元中運行,使得ASP.NET頁面能夠訪問傳統的COM對象。ASP.NET頁面默認是在多線程單元(MTA)中運行。當啟用AspCompant模式時,設置ASP.NET在單線程單元(STA)中運行頁面,以便它能夠安全地與COM對象交互。AspCompat設置為true會影響性能。默認為false。

      Async使頁面成為異步處理程序,即導致頁使用IHttpAsyncHandler的實現來處理請求,默認為false。

      AsyncTimeout定義在處理異步任務時使用的超時的時間間隔(以秒為單位)。默認為45秒。

      AutoEventWireup指示頁面的事件是否自動綁定。如果啟用了事件的自動綁定,則為true;否則為false。默認值為true。

      Buffer確定是否啟用HTTP響應緩沖。如果啟用頁面緩沖為true;否則為false。默認為true。

      ClassName指定在請求該頁面時將自動進行動態編譯的頁的類名。此值可以是任何有效的類名,並且可以包括類的完整命名空間。如果未指定該屬性的值,則已編譯的類名將基於頁的文件名。其他頁可以通過使用 @ Reference 指令來引用分配給第一頁的類名。

      ClientTarget指示 ASP.NET 服務器控件應該為其呈現內容的目標用戶代理(通常是 Web 瀏覽器,例如 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 頁。包含用於編譯頁的編譯器選項的字符串。在 C# 和 Visual Basic 中,這是編譯器命令行開關的序列。有關編譯器選項的更多信息,請參見 C# 編譯器選項或 Visual Basic 編譯器。

     ContentType將響應的 HTTP 內容類型定義為標准的 MIME 類型。

     CompilerOptions支持任何有效的 HTTP 內容類型字符串。有關可能值的列表,請在 MSDN Library 中搜索 MIME。Culture指示頁的區域性設置。該屬性的值必須是有效的區域性 ID。注意,LCID 和 Culture 屬性是互相排斥的;如果使用了其中一個屬性,就不能在同一頁中使用另一個屬性。

      Culture動態生成的類將設置此屬性的值。此外,還可以通過編程方式或在 Web.config 文件的 globalization 元素(ASP.NET 設置架構) 中顯式設置 Culture 屬性的值。Culture 屬性用於幫助本地化頁內容。可以將其設置為任何有效的區域性 ID。例如,en-us 區域性 ID 將頁設置為美國英語,而 fr 區域性 ID 將頁設置為法語。還可以將該值設置為 auto,從而自動檢測瀏覽器的首選語言並設置該語言。可以用默認值(如 auto:en-us)限定自動語言檢測。

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

      EnableEventValidation在回發方案中啟用事件驗證。如果驗證事件,則為 true;否則為 false。默認值為 true。

      EnableSessionState定義頁的會話狀態要求。如果啟用了會話狀態,則為 true;如果可以讀取會話狀態但不能進行更改,則為 ReadOnly;否則為 false。默認值為 true。這些值是不區分大小寫的。

      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 屬性(包含指向代碼隱藏類的源文件的路徑)一起使用。

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

LCID定義 Web 窗體頁的區域設置標識符。區域設置標識符是一個 32 位值,該值唯一地定義某個區域設置。除非您使用該屬性為 Web 窗體頁指定不同的區域設置,否則 ASP.NET 使用 Web 服務器默認的區域設置。注意,LCID 和 Culture 屬性是互相排斥的;如果使用了其中一個屬性,就不能在同一頁中使用另一個屬性。

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

      MaintainScrollPositionOnPostback指示在回發后是否將用戶返回到客戶端瀏覽器中的同一位置。如果應該將用戶返回到同一位置,則為 true;否則為 false。默認值為 false。開發人員可以通過設置 Web.config 文件的 <pages> 元素上的 maintainScrollPostitionOnPostback 屬性(注意,此屬性在配置文件中是區分大小寫的),為所有頁定義該屬性。

MasterPageFile設置內容頁的母版頁或嵌套母版頁的路徑。支持相對路徑和絕對路徑。

     MetaDescription為ASP.NET4.0新增為頁面的SEO優化,指定在響應的 HTML <Meta> 標記中呈現的頁的描述。也可以通過編程方式將描述作為頁的屬性來訪問。

     MetaKeywords也是ASP.NET4.0新增的為SEO優化,指定在響應的 HTML <Meta> 標記中呈現的頁的Keywords。也可以通過編程方式將描述作為頁的屬性來訪問。

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

     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 屬性中包含的設置可以自定義頁及其各個控件的特定設置。

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

     Title指定在響應的 HTML <title> 標記中呈現的頁的標題。也可以通過編程方式將標題作為頁的屬性來訪問。

     Trace指示是否啟用跟蹤。如果啟用了跟蹤,則為 true;否則為 false。默認值為 false。

     TraceMode指示當啟用跟蹤時如何為頁顯示跟蹤消息。可能的值為 SortByTime 和 SortByCategory。當啟用跟蹤時,默認值為 SortByTime。

     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,表示如果單個控件請求進行加密,將加密視圖狀態。

       ViewStateMode這個屬性可以單獨設置控件的視圖狀態。在以前版本的 ASP.NET 中,控件的視圖只有在 Page 的 ViewState 啟用的前提下才可以單獨控制。在 ASP.NET4.0 中,控件的視圖狀態可以單獨設置了,也就是說,即使頁面的視圖狀態沒有啟用,控件依然可以啟用視圖狀態。

ViewStateMode 屬性是個枚舉值:InheritL:視圖狀態從父控件繼承;Enabled:即使父控件的視圖狀態沒有啟用,也啟用該控件的視圖狀態;Disabled:即使父控件的視圖狀態啟用了,也禁用此控件的視圖狀態。

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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM