ASP.NET 3.5高级编程第一章

                                                           ASP.NET 3.5高级编程第一章
 1.3 ASP.NET的page指令
       
ASP.NET指令在每个ASP.NET页面中都有,使用这些指令可以控制ASP.NET页面的行为。在ASP.NET中有11个指令,无论页面是使用隐藏代码模型还是内联代码模型都可以在应用程序中使用。指令的格式如下:<%@ [Directive] Attribute=value]%>可以把多个属性添加到指令中。


 
1.3.1   @page指令
           page指令允许为ASP.NET页面(.aspx)指定解析和编译页面时使用的属性和值,是最常用的一个指令,它包含的属性如下:


1.3.2   @master指令
    @master指令和@page指令非常类似,但@master指令用于master页面(.master)在使用@master指令时,要指定和站点上的内容页面一起使用的模板页面的属性。内容页面(使用@page指令建立)可以继承master页面上的所有master内容(在master页面中中使用@master指令定义的)。



1.3.3    @control 指令      

           @control 指令 类似于@page指令,但@control指令是在构建ASP.NET用户控件时使用的。@control指令允许定义用户控件要继承的属性,这些属性值会在解析和编译页面时赋予用户控件。

1.3.4    @import指令

           @import指令允许指定要导入到ASP.NET页面或用户控件中的名称空间。导入了名称空间后,该名称空间中的所有类和接口就可以在页面和用户控件中使用了。这个指令只支持Namespace属性。
           Namespace属性有一个string值,它指定要导入的名称空间。@import指令不支持多个属性/值对,所以,必须把多个名称空间导入指令放在多行代码上如下所示:
           <%@  Import  Namespace="System.Data"%>         
           <%@  Import  Namespace="System.Data.SqlClient"%>

1.3.5   @Implement指令
          @implement指令允许ASP.NET页面实现特定的.NET Framework接口,这个指令只支持Interface属性。Interface属性直接指定了  .NET Framework接口。当ASP.NET页面或用户控件实现接口时,可以直接访问其中所有的事件、方法和属性。如下所示:
              <%@  Implements  Interface="System.Web.UI.IValidator"  %>

 1.3.5   @Register指令
           @Register指令把别名与名称空间和类联系起来,作为定制服务器控件语法中的记号。把一个用户控件拖放到.aspx页面上时就用了@register指令。@Register的5个属性如下:


1.3.6  @Assembly指令
       @Assembly指令在编译时把程序集(.NET应用程序的构建块)关联到ASP.NET页面或用户控件上,从而使该程序集中的所有的类和接口都可用于页面。这个指令支持两个属性:Name和Src。
      Name:允许指定用于关联页面文件的程序集名称。程序集名称应只包含文件名,不包含文件的扩展名。例如,如果文件是MyAssembly.vb,Name属性的值应是MyAssembly。
      Src:允许指定编译时所使用的程序集文件源。
  例如:<%@  Assembly Name="MyAssembly"%>
             <%@  Assembly Src="MyAssembly.vb"%>

1.3.7@PreviousPageType
 这个指令用于指定跨页面的传送过程起始于哪个页面。在ASP.NET页面之间的跨页面传送过程。@PreviousPageType指令是一个新指令,用于处理ASP.NET3.5提供的跨页面传送新功能。这个简单的指令只包含两个属性:TypeName和VirtualPath。
           TypeName:设置会送时的派生类的名称。
           VirtualPath:设置回送时所传送页面的地址。

1.3.8@MasterType指令
@MasterType指令把一个类名关联到ASP.NET页面上,以获得特定master页面中包含的强类型化的引用或成员。这个指令支持一下两个属性。
TypeName:设置从中获得强类型化的引用或成员的派生类的名称。
VirtualPath:设置从中检索这些强类型化的引用或成员的页面地址。
例如:<%@  MasterType  VirtualPath="~/Wrox.master" %>

1.3.9@OutputCache
  @OutputCache指令控制ASP.NET页面或用户控件的输出高速缓存策略。这个指令支持10个属性,如下表所示:


1.4ASP.NET页面的事件      
许多事件都专用于特定的服务器控件。下面是主页页面事件的引发顺序:
PreInit   初始化前一刻
Init    初始化
InitComplete   初始化完成
Preload   页面加载入服务器内存前一刻
Load    加载
LoadComplete   加载完成
PreRender    显示在浏览器前一刻
PreRenderComplete
Upload    从内存中清除

1.5 处理回送
ASP.NET页面一般要回送给自己,以处理事件(如按钮单击事件)。所以必须区分终端用户在第一次加载页面时传送的内容和回送的内容。回送就是传送回原来的页面。回送包含在初始页面上收集的所有窗体信息,以备在需要时处理。所有的回送都在ASP.NET页面上进行,所以要弄清楚是请求页面的第一个实例还是请求回送原来的页面。使用Page类的IsPostBack属性可以进行此项检查,如下所示:
C#
            if  (Page.IsPostBack==ture)
                (//Do  Precessing)

1.6  跨页面的传送
跨页面的传送就是提交窗体(如Page1.aspx),并把这个窗体和所有的控件值都传送给另一个页面(Page2.aspx)。传统上,在ASP.NET 1.0/1.1中创建的页面都只传送给它自己,控件值都是在这个页面实例中被处理的。要区分页面的第一次请求和回送,可以使用Page.IsPostBack属性,如下所示:
        If  Page.IsPostBack  Then
                'deal with control values
        end If

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值