网页事件

典型的使用方式

PreInit

PreInit事件是网页生命周期中非常早起的一个事件,在PreInit事件触发之后,就会加载用户设置信息与网页主题。我们通常使用PreInit事件来执行下列处理:

l 检查IsPostBack属性,来确认网页是否为第一次被处理。

l 创建或重新创建动态控件。

l 动态设置一个母版页。

l 动态设置Theme属性。

l 读取或设置用户设置文件属性值。

Init

在所有的控件都已经被初始化,而且所有的面板设置都已经应用之后,就会触发Init事件。可以使用此事件来读取或初始化控件属性。

InitComplete

此事件由Page对象触发。当网页初始化完成之后,就会触发此事件。

PreLoad

如果希望在Load事件触发之前,针对您的网页或控件执行一些处理,就可以使用此事件。在Page触发此事件之后,它会加载它本身与所有控件的视图状态,然后处理Request实例的回发数据。

Load

Page会调用Page上的Load事件处理例程,然后按照顺序为每一个子控件执行相同的操作,直到网页与所有控件被加载为止。我们通常会使用Load事件来设置控件的属性并创建数据库连接。

控件事件

我们通常使用控件的各个事件来完成各项互动操作。

LoadComplete

在网页上的所有其他控件都已经被加载之后,要执行的处理就可以通过此事件来完成。

PreRender

在控件已经被加载但是还没有解释之前,就会触发此事件。在此事件之前会执行下列操作:

l Page对象会调用网页与每一个控件的EnsureChildControls方法。

l DataSourceID属性被设置的数据绑定控件会调用其DataBind方法。

网页上的每一个控件都会触发PreRender事件,您可以利用它对网页或其控件的内容做最后的更改。

SavaStateComplete

在已经为网页和网页上的所有控件保存了视图状态与控制状态信息后,就会触发此事件。此时对网页与控件所作的任何更改都会被忽略。

如果您的操作是要在视图状态被保存之后才执行,则非常适合使用SaveStateComplete事件,但是请不要对控件进行任何更改。

Render

Render不是一个事件,而是一个方法。在此阶段,Page对象会调用每一个控件的Render方法。所有的ASP.NET服务器控件都拥有一个Render方法,它会输出要传送给浏览器的控件标记。当我们创建一个自定义控件时,通常会重写Render方法来输出控件的标记。然而,如果您的自定义控件仅仅是标准的ASP.NET服务器控件,而没有任何的自定义标记,则不需要重写Render方法。

Unload

每一个控件的Unload事件被触发之后,才会触发网页的Unload事件。对于控件而言,我们会使用此事件为特定的控件进行最后的清理工作,比方说,关闭某控件所使用的数据库连接。

对于网页本身而言,同样会使用此事件来进行最后的清理工作,比方说,关闭已打开的文件与数据库连接、完成记录写入操作等。

ASP.NET网页生命周期事件的更多相关文章

  1. asp.net 页面生命周期事件详细

    (1)请求页面:页请求发生在页生命周期开始之前. (2)开始:在开始阶段,将设置页属性,如Request和Response.在此阶段,页还将确定请求是回发请求还是新请求,并设置IsPostBack属性 ...

  2. [转]ASP.net Application 生命周期事件

    生命周期事件和 Global.asax 文件 在应用程序的生命周期期间,应用程序会引发可处理的事件并调用可重写的特定方法.若要处理应用程序事件或方法,可以在应用程序根目录中创建一个名为 Global. ...

  3. ASP.NET -- WebForm -- 页面生命周期事件

    ASP.NET -- WebForm --  页面生命周期事件在页生命周期的每个阶段中,页将引发可运行您自己的代码进行处理的事件. 1. PreInit: 使用该事件来执行下列操作: 检查 IsPos ...

  4. ASP.NET 页生命周期

    ASP.NET 页运行时,此页将经历一个生命周期,在生命周期中将执行一系列处理步骤.这些步骤包括初始化.实例化控件.还原和维护状态.运行事件处理程序代码以及进行 呈现.了解页生命周期非常重要,因为这样 ...

  5. ASP.NET 页生命周期概述

    ASP.NET 页生命周期概述 Visual Studio 2005    ASP.NET 页运行时,此页将经历一个生命周期,在生命周期中将执行一系列处理步骤.这些步骤包括初始化.实例化控件.还原和维 ...

  6. .net学习笔记----Asp.net的生命周期之一应用程序生命周期

    Http请求刚刚到达服务器的时候 当服务器接收到一个 Http请求的时候,IIS (Internet Information Services,互联网信息服务)首先需要决定如何去处理这个请求. 什么是 ...

  7. [转]ASP.NET 页生命周期概述

    原文链接:http://msdn.microsoft.com/zh-cn/library/ms178472(v=vs.110).aspx  对应版本:.NET 4.0 ASP.NET 页运行时,此页将 ...

  8. Asp.net的生命周期之页生命周期

    参考:http://msdn.microsoft.com/zh-cn/library/ms178472%28v=vs.100%29.aspx http://msdn.microsoft.com/zh- ...

  9. Asp.net的生命周期之应用程序生命周期

    参考:http://msdn.microsoft.com/zh-cn/library/ms178473(v=vs.100).aspx 参考:http://www.cnblogs.com/JimmyZh ...

随机推荐

  1. GDPR给安全的影响

    违反GDPR的代价过于巨大,因而你不得不为那些预料不到的后果考虑,而且因为无法使用Whois数据,无形中也扩大了威胁界面.因为GDPR的存在,可供黑客入侵的威胁界面显著增长,不是增加了一点点,而是翻了 ...

  2. Python Web学习笔记之多线程编程

    本次给大家介绍Python的多线程编程,标题如下: Python多线程简介 Python多线程之threading模块 Python多线程之Lock线程锁 Python多线程之Python的GIL锁 ...

  3. 06: linux下python开发环境梳理

    1.1 修改~/.bashrc文件 改编终端颜色 alias rm='rm -i' alias cp='cp -i' alias mv='mv -i' # User specific aliases ...

  4. apt-get build-dep

    apt-get 里面有个 build-dep参数,手册写着:build-dep causes apt-get to install/remove packages in an attempt to s ...

  5. Starting MySQL...The server quit without updating PID file [失败]local/mysql/data/localhost.localdomain.pid报错

    在添加命令自动补全的时候mysql启动失败 这是原配 # For advice on how to change settings please see # http://dev.mysql.com/ ...

  6. 文件IO和标准IO的区别【转】

    一.先来了解下什么是文件I/O和标准I/O: 文件I/O:文件I/O称之为不带缓存的IO(unbuffered I/O).不带缓存指的是每个read,write都调用内核中的一个系统调用.也就是一般所 ...

  7. 怎样用QtCreator编辑运行python脚本

    QtCreator作为一款开发基于qt库的程序.以及开发C语言.c++语言项目都是一个利器,轻便好用.那么作为开发者来说,经常换着使用各种IDE是家常便饭,但是要是这些语言都能够集成到一个工具里岂不是 ...

  8. Large Division(大数)题解

    Given two integers, a and b, you should check whether a is divisible by b or not. We know that an in ...

  9. Ubuntu 14.04 安装adobe flash player

    参考: How to install flash payer in Ubuntu 14.04 LTS? [duplicate] Ubuntu 14.04 安装adobe flash player 32 ...

  10. RTC(x86)

    RTC 原创,转载请写明出处. 一直以来想写一篇关于RTC的总结,可是人太懒,在读完John Z. Sonmez大伽的<软技能代码之外的生存技能>后,终于下定决心,完成这项早已计划中的任务 ...