通行证: 用户 密码 域名空间  下载中心 社区论坛 信息公告 MY小屋
联系我们
设为首页
加入收藏

 

QQ,ASP,PHP,JSP,XML,SQL,.Net,编程 程序 网页图象 建站经验 私服
首页 | 新闻资讯 | 编程开发 | 网页设计 | 图形图象 | 网络媒体 | 网站模板 | 数 据 库 | 投稿
论坛 | 操作系统 | 系统优化 | 网络安全 | 黑客技术 | 硬件学堂 | 硬件报价 | 服 务 器 | 地图
专题 | 应用软件 | 聊天通讯 | Q Q 专栏 | 建站经验 | 在线工具 | 站长Club | 注 册 表 | 旧版
社会 | 游戏娱乐 | 设计欣赏 | 疑难解答 | 社区论坛 | 韩国素材 | 素材图库 | 广告服务 | 服务
当前位置:首页>>编程开发>>NET专区>>正文 新版上线![旧版]
注:打开慢时请稍等

ASP.NET:掌握Web窗体的生命周期与状态管理

http://www.iyit.net  日期:2006-5-24 18:32:33  来源:it168   点击:
参加讨论如果你具有使用 Active Server Pages (ASP) 的经验,你将认识到 ASP 是线性处理模型。ASP 页是按从上到下的顺序处理的。ASP 代码和静态 HTML 的每一行都按其在文件中的显示顺序进行处理。在往返行程中用户操作导致页被发送到服务器。因为此操作导致往返行程,所以服务器必须重新创建该页。在重新创建该页后,将通过与以前相同的从上到下的顺序对该页进行处理,因此,该页未表现出真正的事件驱动行为。若要创建事件驱动体验,你需要显式设计它。此外,你必须在最基本的级别上显式维护页和控件状态。此模型限制了可以组合的用户界面的丰富程度,并且此模型增加了需要支持它的代码的复杂性。

  与此相比,传统 Visual Basic 应用程序中的事件驱动模型包含可编程的元素,这些元素可被初始化并在窗体上显示。用户与这些元素进行交互,而这又导致引发调用事件处理程序的事件。此模型支持真正的事件驱动行为,这在设计上极大拓宽了可以组合的用户界面的丰富程度,并且降低了需要支持它的代码的复杂性。

  ASP.NET 通过模拟事件驱动模型的行为代替了 ASP 的线性处理模型。提供 ASP.NET 页框架以隐式地为你建立事件和事件处理程序的关联。利用该页框架,你可以很容易地创建响应用户操作的用户界面。

  首先,我们必须先了解一下Web窗体的生命周期,才能更好的了解Web窗体的状态管理。

  一个Web窗体的生命周期类似于在服务器中运行的Web进程的生命周期。一个Web窗体从实例化分配内存空间到处理结束释放内存,一般经历下面4个步骤:初始化、页面装载、事件处理和资源清理。

  (1)页面初始化

  当页面被初始化时,发生第一个事件Page_Init。系统会执行创建和设置一个例示所需要的所有初始化步骤。

  (2)页面装载

  页面装载在初始化之后,所发生的事件叫做 Page_Load,它的用途如下:

  根据 Page.IsPostBack 属性检查页面是不是第一次被处理;//小新技术网www.xker.com

  第一次处理页面时执行数据捆绑,或者在以后的循环过程中重新判断数据捆绑表达式;

  读取和更新控件属性;

  恢复在保存步骤中所保存的前一个客户请求的状态;

  (3)事件处理

  Web窗体上的每个动作都激活一个到达服务器的事件。一个Web窗体有两个视图:一个客户视图和一个服务器视图。所有的数据处理都在服务器上进行。当通过点击鼠标或其它方法引起一个事件时,事件就到达服务器并返回相应的数据。

  (4)资源清理

  最后一步发生于一个窗体完成了它的任务并且准备卸载的时候,这时激活Page_Unload事件,完成最后的资源清理工作,比如:关闭文件,关闭数据库连接,丢弃对象。

  我们知道基于Web的访问方式是断开式的,Web页面是无状态性的。而于ASP中的线性驱动方式不同的是ASP.NET采用的是事件驱动模式,那么 ,Web窗体是怎么样做到ASP.NET页面状态的维护的呢?在ASP.NET中引入了一个概念:View State,从而用View State来保存页面的状态信息。

  除了第一次的访问请求是有基类生成以外,以后每次客户端的回传都是根据客户端传来的页面状态来重新创建页面。而页面的各个状态信息就保存在客户端页面源文件的隐藏字段<input type="hidden" name="__VIEWSTATE" value=""/>中,我们可以通过浏览器查看到它,value的值就是经过加密的页面状态信息。服务器根据value值进行窗体的再现,然后在窗体的事件处理阶段进行执行响应的事件过程,然后把执行结果返回到客户端,并且改变Web窗体的状态值,并回写到value值中。最后到达资源清理阶段。整个过程就是一个Web窗体的生命周期,同时也完成了页面状态的管理。

  下面这个实例演示了ASP.NET页面框架是如何维护页面状态的。所有代码如下:

  <%@ Page Language="VB" %>
  <script runat="server">

本新闻共2页,当前在第1页  1  2  


编辑:黑鹰 [发送给好友] [打印本页] [关闭窗口] [返回顶部]
上一篇:ASP.NET页面间的传值的几种方法
下一篇:ASP.NET入门随想之多态、接口与委托
转载请注明来源:www.iyit.net
特别声明: 本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作者。文章版权归文章原始作者所有。对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转载的文章有版权问题请联系编辑人员,我们尽快予以更正。

 相关文章
ASP.NET 程序设计-序 ASP.NET无法调试问题剖析 在asp.net下将log4net配置成可log到ms 
如何在ASP.NET中显示数据库中的数据 ASP.NET 数据访问类 如何实现Asp与Asp.Net共享Session
ASP.NET用户控件返回事件的方法 ASP.NET应用程序资源访问安全模型 从ASP.NET服务器控件插入客户端脚本
(ASP.NET)修改和删除DataGrid行——数据 ASP.NET中使用Server.Transfer()方法在 ASP.NET Tips1---合并多个字段值
Asp.net组件设计浅论 ASP.NET写无限级下拉菜单不再难 在ASP.NET使用javascript一点小技巧
asp.net用户注册时的验证 ASP.NET应用程序 ASP.NET数据格中计算数值总和
ASP.NET+XML Web服务客户端创建Web服务 利用ASP.NET的三种缓存提高站点性能 ASP.NET中的HTTP模块和处理程序
设计ASP.NET应用程序的七大绝招 将Asp.net页面输出为HTML 五种常见的ASP.NET安全缺陷
最新更新 热点排行 推荐新闻
.NET Framework 概要
.NET Framework
.NET Framework-Microsoft Visual Stu
网页的种类
因特网应用程序的开发
.NET Framework 概要
.NET Framework
.NET Framework-Microsoft Visual Stu
网页的种类
因特网应用程序的开发
什么是客户端/伺服端(Client/Server)
ASP.NET 程序设计-序
窗体启动特效
用ImessageFilter接口实现截获键盘消息
开发基于Web的CSS设计器
一个Web文件上传的C#源代码
.NET之ASP Web Application快速入门(2
ASP.NET 2.0 中的异步页功能应用
asp+ 操作Cookie 方法大全
ASP.NET导出数据到Excel     
优秀公益广告作品欣赏(8)
java数据类型转换
Windows XP专业版IIS连接数的更改
新开放QQ免费挂级网站
优秀公益广告作品欣赏(7)
免费在QQ上看在线电影电视听音乐
QQ珊瑚虫外挂4.0版本发布!
WEB服务器配置全攻略(三)
免费把QQ炫铃设为本机QQ的系统提示音
Office2007简体中文版浮出水面 美图抢
ASP.NET 2.0 中的异步页功能应用
QQ收费头像免费使用的方法 
微软将在华推分期付款,充值卡PC 可低价
 AMD处理器AM2测试 风扇竟运行7分钟
exeplorer.exe错误的问题的总结、解决
ASP.NET 2.0 中的异步页功能应用
硬盘坏道修复及数据恢复宝典
免费登录搜索引擎入口大全
搜索引擎注册九大秘法
小心摄像头成为黑客偷窥你的眼睛
内存混插常见问题和解决方法
 友情链接
设置首 页 - 版权声明 - 广告服务 - 关于我们 - 联系我们 - 友情连接
Copyrights © 2004-2006 iYiT.Net All Rights Reserved.
网站合作、广告联系QQ:147007642、466949678
易特网络技术 点击这里给我发消息