惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

S
Security Affairs
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
Jina AI
Jina AI
P
Palo Alto Networks Blog
GbyAI
GbyAI
大猫的无限游戏
大猫的无限游戏
A
Arctic Wolf
Hugging Face - Blog
Hugging Face - Blog
小众软件
小众软件
Y
Y Combinator Blog
T
The Blog of Author Tim Ferriss
Blog — PlanetScale
Blog — PlanetScale
S
Schneier on Security
V
Vulnerabilities – Threatpost
C
Cybersecurity and Infrastructure Security Agency CISA
雷峰网
雷峰网
T
Tenable Blog
人人都是产品经理
人人都是产品经理
T
Tor Project blog
C
Cyber Attacks, Cyber Crime and Cyber Security
AWS News Blog
AWS News Blog
Microsoft Security Blog
Microsoft Security Blog
J
Java Code Geeks
Scott Helme
Scott Helme
SecWiki News
SecWiki News
C
CERT Recently Published Vulnerability Notes
Recorded Future
Recorded Future
I
InfoQ
Security Archives - TechRepublic
Security Archives - TechRepublic
Help Net Security
Help Net Security
Cloudbric
Cloudbric
C
Check Point Blog
Engineering at Meta
Engineering at Meta
TaoSecurity Blog
TaoSecurity Blog
B
Blog
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
博客园_首页
N
News and Events Feed by Topic
云风的 BLOG
云风的 BLOG
MyScale Blog
MyScale Blog
腾讯CDC
量子位
Application and Cybersecurity Blog
Application and Cybersecurity Blog
K
Kaspersky official blog
Vercel News
Vercel News
F
Full Disclosure
T
Troy Hunt's Blog
Forbes - Security
Forbes - Security
S
Security @ Cisco Blogs

博客园 - goodvify

电费查询网_电费网上查询 气候数据订制 天气后报 第二架遥控飞机又飞丢了,囧! 外贸业务可以分为多个工作阶段来管理 也许许多企业管理软件的设计出发点就错了 在Linux下的绘流程图工具yEd 在Flex中用xml做数据源的界面操作的测试 “学而不思则罔,思而不学则殆”在实施工作中的思考 Ubuntu Server安装 准备测试使用Ubuntu的Server版 不使用“DataSourceControl DataSource”的情况下如何分页和排序 [转]利用.NET中的反射机制实现IList到DataTable的转换 [转]PetShop 4架构分析 VS2008 快捷键大全 MySql远程连接的问题 vc7中的ClassWizard [javascript]判断email地址的有效性 Windows Socket API函数解说
ASP.NET2.0网页的生命周期
goodvify · 2008-10-04 · via 博客园 - goodvify

网页的生命周期列表:

  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默认是第二种