asp.net页面指令和事件

 

@Page指令  定义页面属性

@Page指令允许为ASP.NET页面(.aspx)指定解析和编译页面时使用的属性和值。这是最常用的指令。ASP.NET页面是ASP.NET的一个重要部分,所以它有许多属性。表3-4总结了@Page指令的可用属性。

表 3-4

属    性

说    明

AspCompat

若其值为True,就允许页面在单线程的单元中执行,这个属性的默认设置是False。

Async

指定ASP.NET页面是同步或异步处理

AutoEventWireUp

设置为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
Postback

带一个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指令  导入指定命名空间

  • namespace

  • 要导入页的命名空间的名称。这可以包括任何包含在 .NET Framework 中的命名空间或自定义命名空间。

  •  

    @Implements指令 实现指定接口

  • interface

  • 要在页或用户控件中实现的接口。

  • <%@ 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="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 错误

    • Page

    • Web 窗体页,ASP.NET 应该在运行时根据它动态编译和链接当前页。

    • Control

    • 用户控件,ASP.NET 应该在运行时根据它动态编译和链接当前页。

    • <%@ Reference page | control="pathtofile" %>

    • Name

    • 表示要链接到页的程序集名称的字符串。

      注意 程序集名称不包括文件扩展名。

    • Src

    • 要动态编译和链接的源文件的路径。

      注意 不能在同一个 @ Assembly 指令中包含 Name 和 Src 属性。如果您要使用这两个属性,页上必须包含多个指令。

Leave a Reply