ASP.NET 服务器控件生命周期
原文:刘武
| ASP.NET 服务器控件生命周期
庖丁解牛:纵向切入ASP.NET 3.5控件和组件开发技术
第一章讲了一些服务器控件的基本知识,
其中asp.net服务器控件的生命周期,是开发控件的第一步,也是核心。
服务器控件生命周期包括以下11个阶段:
初始化(OnInit):完成控件的初始化及打开控件的视图状态跟踪功能。
加载视图状态(LoadViewState):本阶段只在页面回发时才执行,完成加载视图状态到控件的任务。
加载回传数据(LoadPostData):本阶段只在页面回发时执行,用于装在客户端提交的数据
装载(OnLoad):页面装载时先执行页面的Page_Load事件,再执行各个子控件的OnLoad方法。
数据回传事件通知(RaisePostDataChangedEvent):本阶段只在页面回发时执行。当LoadPostData方法返回值为true时,该方法才会被调用。
触发回发事件(RaisePostBackEvent):本阶段仅在页面回发时执行,主要处理引起回发的客户端事件。
预呈现(OnPreRender):本阶段主要完成控件呈现之前所需要的一些工作,一般对控件进行资源注册,如注册javascript脚本和隐藏域控件等。
保存视图状态(SaveViewState):把页面控件视图信息进行存储。
呈现(Render):主要将控件标记和字符文本输出到服务器控件输出流中,可以直接些HTML标记,也可以调用每个控件都与的RenderControl方法。
卸载(OnUnload):对控件进行资源清除工作。
释放(Dispose):释放使用的资源,如数据库连接,IO文件流等.
这里只是讲了一些基本的概念,也许很多人会觉得是雾里看花,其实没关系,就当是一个引子吧,相信接触到实际的控件开发之后会对各个事件有比较深刻的理解。
相关文档:
首页:
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head ......
使用DataRelation类创建关系并利用父/子关系读取数据示例
void Page_Load(object sender, System.EventArgs e)
{
// 连接字符串和 SQL 语句
string ConnString = System.Configuration.ConfigurationSettings.AppSettings["ConnectionSqlServer"];
......
using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Web;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
usin ......
关于EXCEL的报表导出,考虑到导出耗时的问题我主要采用AJAX来做的,分别捕捉几个起止状态,给客户端提示3个状态:正在检索数据。。。---》准备导出数据。。。(只是从数据库成功取出,还没有读写excel文件)--》正在读写文件--》导出数据成功,当然如果哪一过程出错,都有对应的提示,只所以想到写这篇文章,主要是因为 ......
完成任何一个事情,目标和流程是我们首先要清晰的。
学习ASP.net技术也是这样,
我这里把ASP.net完全掌握需要的一个推荐学习流程告诉大家。
大家可以参考一下,有些不一定要完全掌握,但一定要了解了解。
等有了合理的知识结构,再来整体提高,有时候,可以融汇贯通,效果更好。
有啥学习上的问题,可以发群邮件问斯琴 ......