继承System.Web.UI.Page的页面基类
来源:互联网 发布:阿里云服务器国际版 编辑:程序博客网 时间:2024/05/21 08:47
服务器端的page类
所有我们编写的页面都继承自page类,可见page类是非常重要的,page类提供了哪些功能,直接决定了我们的页面类可以继承什么功能,或者说,直接决定了我们的页面类功能的强大与否!那么,page类实现了什么功能呢?如前所述的三个客户端的事实,页面类要管理ViewState,还要管理事件。page类起码要提供这些功能以供我们的页面类重载或者调用。
page类提供了四个顺序执行的事件Init,Load,PreRender和Unload,这四个事件是一条主线,依次标明了page类执行的各个阶段。init事件发生在所有服务器端控件的状态(ViewState)被存储之前。load事件发生在所有服务器端控件的状态被存储之后和所有的事件被触发之前。PreRender事件发生在所有事件被触发之后和要回发给客户端的html还没有回发(这个过程也叫"呈现")之前。unload事件发生在所有html都回发完成以后。从这四个事件可以看到page类的大致执行步骤。
详细的page类事件顺序是这样的:
获得客户端的post请求→page类的继承类被构造→page类的ProcessRequest方法被调用→init事件被执行→page类的虚函数CreateChildControls被调用→服务器端控件的状态(来自post变量和ViewState)被存储→load事件被执行→我们自定义的服务器端控件的事件被执行→PreRender事件被执行→page类的虚函数Render方法被调用→page类的虚函数RenderChildren方法被调用→Http响应发往客户端→unload事件被执行→page类的继承类被解构。
我们知道一个页面上的控件很多是包含(父子)关系,所以这里的CreateChildControls和RenderChinldren函数应该就不难理解了。这个事件顺序是理解asp.net页面类的关键,和前面客户端的三个事实结合起来理解,就可以解释asp.net怎么样把客户端和服务器端结合起来,从而实现从脚本编程转移到面向对象编程。无论是微软提供的webcontrols,或者是用户自定义控件,涉及到客户端和服务器端交互,原理都与此类似。
- 继承System.Web.UI.Page的页面基类
- 继承System.Web.UI.Page的页面基类
- 继承System.Web.UI.Page的页面基类
- 继承System.Web.UI.Page的页面基类 生命周期
- 继承System.Web.UI.Page的页面基类
- 继承System.Web.UI.Page的页面基类
- 继承System.Web.UI.Page的页面基类
- 继承System.Web.UI.Page的页面基类
- ASP.NET中System.Web.UI.Page的继承问题
- 在Web项目开发中使用BasePage类的巧用(继承System.Web.UI.Page)
- System.Web.UI.Page
- Asp.Net 继承System.Web.UI.Page实现权限检测
- cs文件中不能继承System.Web.UI.Page问题的解决方法
- cs文件中不能继承System.Web.UI.Page问题的解决方法
- ASP.NET App_Code中的类文件如何继承System.Web.UI.Page
- [转]System.Web.UI.Page类的构造函数的执行时机
- “XXX.Index”不扩展类“System.Web.UI.Page”,因此此处不允许的问题
- 继承System.Web.Page类需要覆写的3个方法
- 安装程序配置服务器失败。参考服务器错误日志和C:/WINDOWS/sqlstp.log. 如何处理?
- CComPtr用法
- 饭桶牌农历控件包3.0 Beta版(带源码)发布啦
- 如何发布VC2005/VC2008编译的程序
- 求救!!!!linux高手请帮忙!!!
- 继承System.Web.UI.Page的页面基类
- DBHelper类的关闭问题
- 汇编语言指令集
- JavaScript实例教程2
- C++的内存分配
- 格式化输出函数: Format
- JMS简明学习教程
- Making a CAB file which doesn’t prompt for installation location
- 暑假数据库知识小结