asp.net 控件生命周期和Global.asax事件顺序
来源:互联网 发布:淘宝达人可以开店吗 编辑:程序博客网 时间:2024/05/05 06:17
注意 只有处理回发数据的控件参与此阶段。LoadPostData 方法
(如果已实现 IPostBackDataHandler)
加载 执行所有请求共有的操作,如设置数据库查询。此时,树中的服务器控件已创建并初始化、状态已还原并且窗体控件反映了客户端的数据。请参见处理继承的事件。 Load 事件(OnLoad 方法)
发送回发更改通知 引发更改事件以响应当前和以前回发之间的状态更改。请参见处理回发数据。注意 只有引发回发更改事件的控件参与此阶段。RaisePostDataChangedEvent 方法
(如果已实现 IPostBackDataHandler)
处理回发事件 处理引起回发的客户端事件,并在服务器上引发相应的事件。请参见捕获回发事件。注意 只有处理回发事件的控件参与此阶段。RaisePostBackEvent 方法
(如果已实现 IPostBackEventHandler)
预呈现 在呈现输出之前执行任何更新。可以保存在预呈现阶段对控件状态所做的更改,而在呈现阶段所对的更改则会丢失。请参见处理继承的事件。 PreRender 事件(OnPreRender 方法)
保存状态 在此阶段后,自动将控件的 ViewState 属性保持到字符串对象中。此字符串对象被发送到客户端并作为隐藏变量发送回来。为了提高效率,控件可以重写 SaveViewState 方法以修改 ViewState 属性。请参见维护控件中的状态。 SaveViewState 方法 呈现 生成呈现给客户端的输出。请参见呈现 ASP.NET 服务器控件。 Render 方法 处置 执行销毁控件前的所有最终清理操作。在此阶段必须释放对昂贵资源的引用,如数据库链接。请参见 ASP.NET 服务器控件中的方法。 Dispose 方法 卸载 执行销毁控件前的所有最终清理操作。控件作者通常在 Dispose 中执行清除,而不处理此事件。 UnLoad使用举例:
IPostBackEventHandler 实现自定义的消息映射
{
//注册客户端JS
protected override void OnLoad(EventArgs e)
{
script.Append("</script> function test(){"));
script.Append(Page.GetPostBackClientEvent(this, "method1"));
script.Append("</script>");
Page.RegisterStartupScript(this.ClientID + "_XXXX", script.ToString());
}
//针对自定义回传调用处理
public void RaisePostBackEvent(string eventArgument)
{
if (eventArgument == "method1")
{
//do some thing for method1
}else if (eventArgument == "method2")
{
//do some thing
}
}
}
App_Web_np75z0lk.dll!_Default.Button1_Click(object sender = {Text = "Button"}, System.EventArgs e = {System.EventArgs}) Line 22 C#
System.Web.dll!System.Web.UI.WebControls.Button.OnClick(System.EventArgs e)
System.Web.dll!System.Web.UI.WebControls.Button.RaisePostBackEvent(string eventArgument)
System.Web.dll!System.Web.UI.WebControls.Button.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(string eventArgument)
System.Web.dll!System.Web.UI.Page.RaisePostBackEvent(System.Web.UI.IPostBackEventHandler sourceControl, string eventArgument)
System.Web.dll!System.Web.UI.Page.RaisePostBackEvent(System.Collections.Specialized.NameValueCollection postData)
System.Web.dll!System.Web.UI.Page.ProcessRequestMain(bool includeStagesBeforeAsyncPoint = true, bool includeStagesAfterAsyncPoint = true)
System.Web.dll!System.Web.UI.Page.ProcessRequest(bool includeStagesBeforeAsyncPoint, bool includeStagesAfterAsyncPoint = true)
System.Web.dll!System.Web.UI.Page.ProcessRequest()
System.Web.dll!System.Web.UI.Page.ProcessRequestWithNoAssert(System.Web.HttpContext context
System.Web.dll!System.Web.UI.Page.ProcessRequest(System.Web.HttpContext context)
App_Web_np75z0lk.dll!ASP.default_aspx.ProcessRequest(System.Web.HttpContext context = {System.Web.HttpContext}) + 0x2f bytes C#
System.Web.dll!System.Web.HttpApplication.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()
System.Web.dll!System.Web.HttpApplication.ExecuteStep(System.Web.HttpApplication.IExecutionStep step = {System.Web.HttpApplication.CallHandlerExecutionStep}, ref bool completedSynchronously = true)
System.Web.dll!System.Web.HttpApplication.ApplicationStepManager.ResumeSteps(System.Exception error)
System.Web.dll!System.Web.HttpApplication.System.Web.IHttpAsyncHandler.BeginProcessRequest(System.Web.HttpContext context, System.AsyncCallback cb, object extraData)
System.Web.dll!System.Web.HttpRuntime.ProcessRequestInternal(System.Web.HttpWorkerRequest wr = {System.Web.Hosting.ISAPIWorkerRequestOutOfProc})
System.Web.dll!System.Web.HttpRuntime.ProcessRequestNoDemand(System.Web.HttpWorkerRequest wr) + 0x62 bytes
System.Web.dll!System.Web.Hosting.ISAPIRuntime.ProcessRequest(System.IntPtr ecb, int iWRType) + 0x57 bytes
Global.asax 事件顺序
·Application_Init:在应用程序被实例化或第一次被调用时,该事件被触发。对于所有的HttpApplication 对象实例,它都会被调用。
·Application_BeginRequest
·Application_AuthenticateRequest
·Application_AuthorizeRequest
·Application_ResolveRequestCache
·Application_AcquireRequestState
·Application_PreRequestHandlerExecute
·Application_PreSendRequestHeaders
·Application_PreSendRequestContent
·<<执行代码>>
·Application_PostRequestHandlerExecute
·Application_ReleaseRequestState
·Application_UpdateRequestCache
·Application_EndRequest
- asp.net 控件生命周期和Global.asax事件顺序
- Asp.net中Global.asax 的使用和事件
- Asp.net中Global.asax 的使用和事件
- Asp.net中Global.asax 的使用和事件
- Asp.net中Global.asax 的使用和事件
- Asp.net Global.asax 事件的介绍
- Asp.net Global.asax 事件的介绍
- Asp.net Global.asax
- ASP.NET页面事件加载顺序以及Global.asax文件的使用
- ASP.NET中的Global.asax以及Web应用的生命周期
- ASP.NET中的Global.asax以及Web应用的生命周期
- 关于触发asp.net Global.asax Session_End事件的经验
- asp.net中global.asax中事件汇总
- ASP.NET中的Global.asax
- ASP.NET Global.asax详解
- ASP.NET Global.asax 和web.config文件详解
- ASP.NET Global.asax 文件使用方法 - .net
- .net中Global.asax中的事件详解
- 看新结婚时代连续剧有感
- ODBC中的FX/Bulk RFX数据交换机制分析
- 在dll中使用CXImage
- 祝福天下的女人们节日快乐
- 今天开始学习吉他
- asp.net 控件生命周期和Global.asax事件顺序
- vsts-TeamFoundationServer安装心得
- VB入门教程之三
- 故乡的云
- 农民工傻二听说林妹妹出家之后
- Linux平台下Subversion的安装与配置(二)
- 新工作漲多少薪水才比較合適?(轉載)
- 双通道和双核心
- 计算机端口的使用