首页 新闻 论坛 群组 Blog 文档 下载 读书 Tag 网摘 搜索 开源 FAQ 第二书店 博文视点 程序员
频道: 研发 数据库 中间件 信息化 视频 .NET Java 游戏 移动 服务: 人才 外包 培训
    图书品种:235680
       
热门搜索: ASP.NET Ajax Spring Hibernate Java

ASP.NET事件

ASP.NET Events

ASP.NET有数千个事件。应用程序有事件(如应用程序的开始和结束),每一个会话也有事件(如会话的开始和结束),并且页面和多数服务器控件都会触发事件。所有的ASP.NET事件都在服务器端处理。有些事件立刻发送到服务器,另外有一些事件则被存储,直到下次页面回传到服务器。

正因为事件在服务器端处理,因此,ASP.NET事件与传统客户端应用程序中的事件稍有不同。在传统客户端应用程序中,事件本身和事件处理程序都在客户端。在ASP.NET应用程序中,事件通常都在客户端触发(例如用户单击浏览器上显示的按钮),但在服务器上处理。

考虑一个包含按钮控件的ASP.NET页面。当单击该按钮时,触发了一个Click事件。不同于HTML按钮控件,ASP.NET的按钮有一个runat=server属性,它为所有HTML按钮的标准功能添加服务器端处理属性。

当触发Click事件时,浏览器则发送页面到服务器,以便处理客户端事件。与此同时,一个事件消息传送到服务器。服务器端确定是否有与Click事件关联的事件处理程序,如果有,则在服务器端执行该事件处理程序。

事件消息通过HTTP POST方式发送到服务器。ASP.NET将自动(这是一个技术术语)处理所有捕获事件的基础结构,将它传送到服务器,并处理事件。作为程序员,您所要做的就是创建事件处理程序。

许多事件,如MouseOver,不会进行服务器端事件处理,因为那样做会降低性能。由于所有服务器端处理都需要回传(从客户端到服务器,再返回客户端的一个来回),因此,不能要求每次发生MouseOver时都回传页面。如果一定要处理这些事件,那么只能在客户端(使用脚本)处理,这超出了ASP.NET的范围。

提示:我们可以为服务器控件添加客户端处理,而且也是常常会使用的,这将在本章中稍后说明。然而,从本质上而言,它们是运行在ASP.NET基本架构的终端之上的。

查看所有评论(0)条】

最近评论



正在载入评论列表...
热点评论