注册本站  论坛  繁體中文

电脑技巧
手机 | MP3 | MP4 | 显卡 | 主板 | 显示器 | 光存储 | 笔记本 | 网络设备 | 移动存储 | 数码相机
键鼠 | CPU | 音箱 | GPS | 电视 | 服务器 | 投影机 | 机箱电源 | 品牌电脑 | 办公打印 |
| 网站首页 | Cisco | Windows | Linux | Java | Dotnet | Oracle | 网页设计 | 平面设计 | 安全 | 软件应用 | 电脑维修 | 办公维修 |
您现在的位置: 电脑技巧 >> Dotnet >> ASP.NET >> Dotnet正文

Page_Load Page_Init方法使用原理

文章来源:blog.csdn.net 作者:daizhenb… 更新时间:2008-6-28 20:39:19 【 】 【加入收藏

        网页的生命周期列表:

          PreInit (2.0)
        ->初始化Theme,应用MasterPage和控件Skin
        ->Init
        ->InitComplete (2.0)
        ->If PostBack,创建子控件并加载控件/视图状态
        ->PreLoad (2.0)
        ->Load
        ->If PostBack,则触发服务器端事件
        ->LoadComplete (2.0)
        ->If not PostBack,则创建子控件
        ->PreRender
        ->PreRenderComplete (2.0)
        ->保存控件/视图状态
        ->SaveStateComplete (2.0)
        ->Render
        ->Unload

        需要注意的是上图中标注(2.0)的事件即ASP.NET 2.0中新增的事件都仅仅是Page类中可以使用,并不是像其他事件一样可以在控件中使用。

        ASP.NET 2.0中可以通过启用(默认值为True)AutoEventWireUp为网页事件创建事件处理程序,并使用隐式为事件处理程序注册的方法名。
        以下是VS2005隐式为各个事件添加关联的方法:

        事件                                                ->           方法名
        Page.PreInit                                     ->           Page_PreInit
        Control.Init                                      ->           Page_Init
        Page.InitComplete                            ->           Page_InitComplete
        Page.PreLoad                                    ->           Page_PreLoad
        Control.Load                                     ->           Page_Load
        Page.LoadComplete                           ->           Page_LoadComplete
        Control.PreRender                             ->           Page_PreRender
        Control.DataBinding                          ->           Page_DataBind
        Page.PreRenderComplete                   ->           Page_PreRenderComplete
        Page.SaveStateComplete                     ->           Page_SaveStateComplete
        Control.Unload                                    ->           Page_Unload
        TemplateControl.Error                        ->           Page_Error
        TemplateControl.AbortTransation     ->   Page_AbortTransation
        TemplateControl.AbortTransation     ->   OnTransationAbort
        TemplateControl.CommitTransation   ->   Page_CommitTransation
        TemplateControl.CommitTransation   ->   OnTransationCommit

        Page基类会在请求的开头阶段调用基类TemplateControl的HookUpAutomaticHandlers方法。该方法遍历上表中所示的方法名,并使用反射在程序员的类中查找具有相同名称和合适特征标的方法。如果找到合适的方法,则创建一个类型合适的委托,并使用该方法初始化它,并将其加入委托列表,该委托在相应事件发生时候将被触发。
        这些事件都是由基类Page的一个虚方法或者Page类从基类Control继承的虚方法触发。所以可以有三种方法注册这些事件:(以Load事件为例)

        1、显式的将一个委托和一个事件关联起来(通常都是在网页的Init处理程序中)
        2、编写一个名为Page_Load的方法,并使其特征标和事件相同
        3、重写Override虚方法Onload

        这个三个方法中重写Override比较快一点点,但是VS2005默认是第二种。

  • 上一篇Dotnet:

  • 下一篇Dotnet:
  • 最 新 热 门
     web.config配置文件中的 元素
     为网站添加业务层
     用SqlDataSource实现DataList嵌套DataList
     Visual Studio 2003插件的编写
     千条DOS命令收藏
     IIS 常见问题
     IIS需要的最小NTFS权限
     优化 .NET的性能
     设计模式与VB .net代码 外观模式,合成模式
     VB.net中介者模式
    最 新 推 荐
     总结必须学习的10项.NET技术
     asp.net+C#实现文件上传实现代码
     AlwaysVisibleControl控件的使用方法
     asp.net中的WebApplication和WebSite使用技…
     ShowModalDialog数据缓存的清除方法
     LinkButton的数据绑定问题
     数独求解算法
     Excel导出时数据中有特殊字符的可能会出错
     数据加密
     ASP.NET 2.0中连接字符串的设置
    相 关 文 章

    vb.net中用GetPrivateProfileString访问INI…
    实现DataGridView中行的上下移动
    观察者模式 The Observer Pattern
    DataGrid脚眉显示合计
    DataGridView的常用用法
    asp.net中将DataGrid的内容导出为excel文件
    何时使用DataGrid、DataList 或Repeater
    GetACP的使用方法
    XPath语法
    ASP关于类的Let,Set和Get的用法的异同

    | 设为首页 | 加入收藏 | 联系站长 | 友情链接 | 版权申明 | 网站公告

     

    Copyright 2006-2008 pcjx.com All Rights Reserved
    电脑技巧 版权所有 粤ICP备06059145号 地图
    本网站所有内容未经许可不得转载或做其他使用