@Page指令 定義頁面屬性瀏覽器
@Page指令容許爲ASP.NET頁面(.aspx)指定解析和編譯頁面時使用的屬性和值。這是最經常使用的指令。ASP.NET頁面是ASP.NET的一個重要部分,因此它有許多屬性。表3-4總結了@Page指令的可用屬性。緩存
表 3-4服務器
屬 性asp.net |
說 明異步 |
AspCompatide |
若其值爲True,就容許頁面在單線程的單元中執行,這個屬性的默認設置是False。ui |
Async編碼 |
指定ASP.NET頁面是同步或異步處理spa |
AutoEventWireUp.net |
設置爲True時,指定頁面事件自動觸發。這個屬性的默認設置是True |
Buffer |
設置爲True時,支持HTTP響應緩存。這個屬性的默認設置是True |
ClassName |
指定編譯頁面時綁定到頁面上的類名 |
CodeFile |
引用與頁面相關的後臺編碼文件 |
CodePage |
指定響應的代碼頁面值 |
CompilerOptions |
編譯器字符串,指定頁面的編譯選項 |
CompileWith |
包含一個String值,指向所使用的後臺編碼文件 |
ContentType |
把響應的HTTP內容類型定義爲標準MIME類型 |
Culture |
指定頁面的文化設置。ASP.NET 2.0容許把Culture 屬性的值設置爲Auto ,支持自動檢測須要的文化 |
Debug |
設置爲True時,用調試符號編譯頁面 |
Description |
提供頁面的文本描述。ASP.NET解析器忽略這個屬性及其值 |
EnableSessionState |
設置爲True時,支持頁面的會話狀態,其默認設置是True |
EnableTheming |
設置爲True時,頁面可使用主題。其默認設置是False. |
EnableViewState |
設置爲True時,在頁面中維護視圖狀態,其默認設置是True |
EnableViewStateMac |
設置爲True時,當用戶回送頁面時,頁面會在視圖狀態上進行機器範圍內的身份驗證,其默認設置是False |
ErrorPage |
爲全部未處理的頁面異常指定用於發送信息的URL |
Explicit |
設置爲True時,支持Visual Basic的Explicit選項。其默認設置是False |
Language |
定義內置顯示和腳本塊所使用的語言 |
LCID |
爲Web Form的頁面定義本地標識符 |
LinePragmas |
Boolean值,指定獲得的程序集是否使用行附註 |
MasterPageFile |
帶一個 String 值,指向頁面所使用的master頁面的地址。這個屬性在內容頁面中使用 |
MaintainScrollPositionOn |
帶一個Boolean 值,表示在回送頁面時,頁面是位於相同的滾動位置上,仍是在最高的位置上從新生成頁面 |
PersonalizationProvider |
帶一個 String 值,指定把個性化信息應用於頁面時所使用的個性化提供程序名 |
ResponseEncoding |
指定頁面內容的響應編碼 |
(續表)
屬 性 |
說 明 |
SmartNavigation |
指定是否爲功能更豐富的瀏覽器激活ASP.NET智能導航功能。它把回送信息返回到頁面的當前位置,其默認值是False |
Src |
指向類的源文件,用於所顯示的頁面的後臺編碼 |
Strict |
設置爲True時,使用Visual Basic Strict模式編譯頁面,其默認值是False |
Theme |
使用ASP.NET 2.0的主題功能,把指定的主題應用於頁面 |
Title |
應用頁面的標題。這個屬性主要用於必須應用頁面標題的內容頁面,而不是應用master頁面中指定內容的頁面 |
Trace |
設置爲True時,激活頁面跟蹤,其默認值是False |
TraceMode |
指定激活跟蹤功能時如何顯示跟蹤消息。這個屬性的設置能夠是SortByTime 或SortByCategory,默認設置是SortByTime |
Transaction |
指定頁面上是否支持事務處理。這個屬性的設置能夠是NotSupported、Supported、Required和RequiresNew,默認設置是NotSupported |
UICulture |
UICulture 屬性的值指定ASP.NET 頁面使用什麼UI Culture。 ASP.NET 2.0容許給UICulture屬性使用Auto值,支持自動檢測UICulture |
ValidateRequest |
設置爲True時,根據一組潛在危險的值檢查窗體輸入值,幫助防止Web應用程序受到有害的攻擊,例如JavaScript攻擊。默認值是True |
WarningLevel |
指定中止編譯頁面時的編譯警告級別,其值能夠是0到4 |
下面是使用@Page指令的一個示例:
<%@ Page Language="VB" AutoEventWireup="false" CodeFile="Default.aspx.vb"
Inherits="_Default" %>
@Master指令 指定母版頁
@Master指令很是相似於@Page指令,但@Master指令用於master頁面(.master)。在使用@Master指令時,要指定和站點上的內容頁面一塊兒使用的模板頁面的屬性。內容頁面(使用@Page指令創建)能夠繼承master頁面上的全部master內容(在master頁面上使用@Master指令定義的內容)。儘管這兩個指令是相似的,但@Master指令的屬性比@Page指令少。@Master指令的可用屬性如表3-5所示。
表 3-5
屬 性 |
說 明 |
AutoEventWireUp |
設置爲True時,指定master頁面的事件是否自動觸發。默認設置爲True |
ClassName |
指定編譯頁面時綁定到master頁面上的類名 |
CodeFile |
引用與頁面相關的後臺編碼文件 |
(續表)
屬 性 |
說 明 |
CompilerOptions |
編譯字符串,表示master頁面的編譯選項 |
CompileWith |
帶一個String值,指向用於master頁面的後臺編碼文件 |
Debug |
設置爲True時,用調試符號編譯master頁面 |
Description |
提供master頁面的文本描述。ASP.NET 解析器會忽略這個屬性及其值 |
EnableTheming |
設置爲True時,表示master頁面可使用主題功能。其默認設置是False |
EnableViewState |
設置爲True時,維護master頁面的視圖狀態。其默認設置是True |
Explicit |
設置爲True時,表示激活Visual Basic Explicit 選項。其默認設置是False |
Inherits |
指定master頁面要繼承的CodeBehind類 |
Language |
定義內置顯示和腳本塊使用的語言 |
LinePragmas |
Boolean值,指定獲得的程序集是否使用行附註 |
MasterPageFile |
帶一個String值,指向master 頁面所使用的master頁面的地址。master頁面可使用另外一個master頁面,建立嵌套的master頁面 |
Src |
指向類的源文件,用於要顯示的master頁面的後臺編碼 |
Strict |
設置爲True時,使用Visual Basic Strict模式編譯master頁面。其默認設置是False |
WarningLevel |
指定中止編譯頁面時的編譯警告級別,其值能夠是0到4 |
下面是使用@Master指令的一個例子:
<%@ Master Language="VB" CodeFile="MasterPage1.master.vb"
AutoEventWireup="false" Inherits="MasterPage" %>
@Control指令 用戶控件
@Control指令相似於@Page指令,但@Control指令是在創建ASP.NET用戶控件時使用的。@Control指令容許定義用戶控件要繼承的屬性。這些屬性值會在解析和編譯頁面時賦予用戶控件。@Control指令的可用屬性比@Page指令少,但其中有許多均可以在創建用戶控件時進行須要的修改。表3-6詳細介紹了這些可用屬性。
表 3-6
屬 性 |
說 明 |
AutoEventWireUp |
設置爲True時,指定用戶控件的事件是否自動觸發。默認設置爲True |
ClassName |
指定編譯頁面時綁定到用戶控件上的類名 |
CodeFile |
引用與用戶控件相關的後臺編碼文件 |
CompilerOptions |
編譯字符串,表示用戶控件的編譯選項 |
CompileWith |
帶一個String值,指向用於用戶控件的後臺編碼文件 |
Debug |
設置爲True時,用調試符號編譯用戶控件 |
(續表)
屬 性 |
說 明 |
Description |
提供用戶控件的文本描述。ASP.NET 解析器會忽略這個屬性及其值 |
EnableTheming |
設置爲True時,表示用戶控件可使用主題功能。其默認設置是False |
EnableViewState |
設置爲True時,維護用戶控件的視圖狀態。其默認設置是True |
Explicit |
設置爲True時,表示激活Visual Basic Explicit 選項。其默認設置是False |
Inherits |
指定用戶控件要繼承的CodeBehind類 |
Language |
定義內置顯示和腳本塊使用的語言 |
LinePragmas |
Boolean值,指定獲得的程序集是否使用行附註 |
Src |
指向類的源文件,用於要顯示的用戶控件的後臺編碼 |
Strict |
設置爲True時,使用Visual Basic Strict模式編譯用戶控件。其默認設置是False |
WarningLevel |
指定中止編譯頁面時的編譯警告級別,其值能夠是0到4 |
@Control指令用於ASP.NET用戶控件。下面是使用該指令的一個例子:
<%@ Control Language="VB" Explicit="True"
CodeFile="WebUserControl.ascx.vb" Inherits="WebUserControl"
Description="This is the registration user control." %>
@Import指令 導入指定命名空間
@Implements指令 實現指定接口
<%@ Implements interface="ValidInterfaceName" %>
@Register指令 給命名空間和類名關聯上別名,做爲定製服務器控件語法中的記號
tagprefix
與命名空間關聯的別名。
tagname
與類關聯的別名。
Namespace
與 tagprefix 關聯的命名空間。
Src
與 tagprefix:tagname 對關聯的聲明性用戶控件文件的位置(相對的或絕對的)。
Assembly
與 tagprefix 關聯的命名空間所駐留的程序集。
注意 程序集名稱不包括文件擴展名。
<%@ Register tagprefix="tagprefix" Namespace="namespace" Assembly="assembly" %> <%@ Register tagprefix="tagprefix" Tagname="tagname" Src="pathname" %>
@Assembly指令 把程序集連接到與他相關的頁面或用戶控件上
注意 程序集名稱不包括文件擴展名。
注意 不能在同一個 @ Assembly 指令中包含 Name 和 Src 屬性。若是您要使用這兩個屬性,頁上必須包含多個指令。
<%@ Assembly Name=" assemblyname" %>
<%@ Assembly Src="pathname" %>
@MasterType指令 把類名與頁面關聯,得到包含在特定master頁面中的強類型化的引用或者成員
@MasterType指令把一個類名關聯到ASP.NET頁面上,以得到特定master頁面中包含的強類型化引用或成員。這個指令支持兩個屬性:
● TypeName:設置從中得到強類型化的引用或成員的派生類名。
● VirtualPath:設置從中檢索這些強類型化的引用或成員的頁面地址。
使用@MasterType指令的細節請參閱第8章。下面是它的一個例子:
<%@ MasterType VirtualPath="~/Wrox.master" %>
@OutputCache指令 控制頁面或用戶控件輸出的高速緩存策略
Duration
頁或用戶控件進行緩存的時間(以秒計)。在頁或用戶控件上設置該屬性爲來自對象的 HTTP 響應創建了一個過時策略,並將自動緩存頁或用戶控件輸出。
注意 該屬性是必需的。若是未包含該屬性,將出現分析器錯誤。
Location
OutputCacheLocation 枚舉值之一。默認值爲 Any。
警告 包含在用戶控件(.ascx 文件)中的 @ OutputCache 指令不支持此屬性。
Shared
一個布爾值,肯定用戶控件輸出是否能夠由多個頁共享。默認值爲 false。有關詳細信息,請參見備註部分。
注意 包含在 ASP.NET 頁(.aspx 文件)中的 @ OutputCache 指令不支持此屬性。
VaryByCustom
表示自定義輸出緩存要求的任意文本。若是賦予該屬性的值是 browser,緩存將隨瀏覽器名稱和主要版本信息的不一樣而不一樣。若是輸入了自定義字符串,您必須在應用程序的 Global.asax 文件中重寫 HttpApplication.GetVaryByCustomString 方法。
VaryByHeader
分號分隔的 HTTP 標頭列表,用於使輸出緩存發生變化。當將該屬性設爲多標頭時,對於每一個指定的標頭,輸出緩存都包含一個請求文檔的不一樣版本。
注意 設置 VaryByHeader 屬性在全部 HTTP 1.1 緩存中啓用緩存項,而不只限於 ASP.NET 緩存。用戶控件中的 @ OutputCache 指令不支持此屬性。
VaryByParam
分號分隔的字符串列表,用於使輸出緩存發生變化。默認狀況下,這些字符串與用 GET 方法屬性發送的查詢字符串值對應,或與用 POST 方法發送的參數對應。當將該屬性設置爲多參數時,對於每一個指定的參數,輸出緩存都包含一個請求文檔的不一樣版本。可能的值包括 none、* 和任何有效的查詢字符串或 POST 參數名稱。
警告 在輸出緩存 ASP.NET 頁時,該屬性是必需的。它對於用戶控件也是必需的,除非已經在用戶控件的 @ OutputCache 指令中包含了 VaryByControl 屬性。若是沒有包含它,則發生分析器錯誤。若是您不想使緩存內容隨任何指定參數發生變化,請將該值設爲 none。若是要使輸出緩存根據全部參數值發生變化,請將屬性設置爲 *。
VaryByControl
一個分號分隔的字符串列表,用於更改用戶控件的輸出緩存。這些字符串表明在用戶控件中聲明的 ASP.NET 服務器控件的 ID 屬性值。
注意 除非已經包含了 VaryByParam 屬性,不然在用戶控件 @ OutputCache 指令中,該屬性是必需的。ASP.NET 頁中的 @ OutputCache 指令不支持該屬性。
<%@ OutputCache Duration="100" VaryByParam="none" %>
@Reference指令 把頁面或用戶控件連接到當前的頁面或者用戶控件上
@PrviousPageType 容許asp.net頁面處理應用程序中另外一個頁面的回送信息
這個指令用於指定跨頁面的傳送過程起始於哪一個頁面。在ASP.NET頁面之間的跨頁面傳送過程詳見後面的「跨頁面傳送」一節和第19章。
@PreviousPageType指令是一個新指令,用於處理ASP.NET 2.0提供的跨頁面傳送新功能。這個簡單的指令只包含兩個屬性TypeName和VirtualPath:
● TypeName:設置回送時的派生類名。
● VirtualPath:設置回送時所傳送頁面的地址。
asp.net頁面事件
PreInit 預初始化
Init 初始化
InitComplete 初始化完成
PreLoad 預加載
Load 加載
LoadComplete 加載完成
PreRender 預輸出
PreRenderComplete 輸出完成
Unload 卸載
AbortTransation 終止事務
CommitTransation 提交事務
DataBinding 數據綁定
Disposed 銷燬
Error 錯誤