事件 Events

  执行程序有两种模式:线性模式和事件驱动模式。理解ASP.NET的关键是,它是事件驱动模式。

  •   线性模式

  线性模式的程序从第一步开始执行,然后执行第二步等,直至所有步骤执行完毕为止。一旦程序开始执行,在用户或系统的操作下,它将一直运行下去。在有GUI环境之前,大多数计算机程序都是线性模式。

  •   事件驱动模式

  事件驱动模式的程序是当发生某些事情时进行响应。多数情况下,事件由用户行为生成,但是由系统触发。服务器控件是可以触发事件的对象。用户在浏览器上对服务器控件所执行的任何行为都可能触发事件。服务器端代码响应事件,并运行存储在事件处理方法中的代码。

  所有的ASP.NET的事件都在服务器端处理。有些事件立刻发送到服务器,另外有一些事件则被存储,直到下次页面回传到服务器。在ASP.NET应用程序中,事件通常都在客户端触发(例如用户单击浏览器上显示的按钮),但在服务器上处理。

  事件依靠委托实现。委托是一个对象,它封装了对方法的描述,即处理事件所指定的任务。

  应用程序事件:

  当应用程序启动时,将触发Application_Start事件。这时,可以初始化整个应用程序中需要使用的各种资源,例如,数据库连接字符串(而不是数据库连接对象本身)。当应用程序停止时,将触发Application_End事件。这时,可以关闭资源,同时执行任何其他必要的日常管理。垃圾回收机制将自动释放内存。然而,

如果分配了托管的资源,例如,使用无需.NET框架编译的语言所创建的组件,那么必需自行手工清除。

  会话事件:

  当用户第一次请求应用程序的页面时,会话开始,触发Session_Start事件,这时,可以初始化会话生命周期中使用的资源,例如打开数据库连接,尽管更好的时机是:需要的时候再去打开数据库连接,并且使用完毕立刻关闭。当应用程序关闭会话或会话超时,会话结束,触发Session_End事件。

  回传事件和非回传事件:

  回传事件促使表单立刻回传到服务器。这包括单击类型的事件,例如Button.Click。与之相对的是,某些事件(典型的有修改事件,例如:TextBox.TextChanged,或者选择事件,例如CheckBox.CheckedChanged)被认为是非回传的,因为,事件并不立刻回传到服务器。这些事件由控件捕获,直到再次发生回传。设置非回传事件控件的AutoPostBack属性为true,则可以强制使它们采用回传方式。

  Page对象具有IsPostBack属性。这是一个只读的Boolean类型属性,它可以指示页面是第一次加载还是为了响应客户端回传而进行的加载。可以只在页面第一次加载时,执行一些耗费资源的操作(例如,从数据库获取数据或构造列表项)。如果页面回传到服务器并再次加载,就无需重复这些操作了。因为,任何输入或构建的数据都已被保留(使用视图状态)到后续的回传中。

时间: 2024-10-12 16:11:46

事件 Events的相关文章

openwrt gstreamer实例学习笔记(七. gstreamer 缓冲区(Buffers)和事件(Events))

1)概述 管道的数据流由一组缓冲区和事件组成,缓冲区包括实际的管道数据,事件包括控制信息,如寻找信息和流的终止信号.所有这些数据流在运行的时候自动的流过管道. 2) 缓冲区(Buffers) 缓冲区包含了你创建的管道里的数据流.通常一个source element会创建一个新的缓冲区,同时element还将会把缓冲区的数据传递给下一个element.当使用GStreamer底层构造来创建一个媒体管道的时候,你不需要自己来处理缓冲区,element将会为你处理这些缓冲区. 一个缓冲区主要由以下一个

nodeJS之事件events

前面的话 events模块是node的核心模块,几乎所有常用的node模块都继承了events模块,比如http.fs等.本文将详细介绍nodeJS中的事件机制 EventEmitter 多数 Node.js 核心 API 都是采用惯用的异步事件驱动架构,其中某些类型的对象(称为触发器)会周期性地触发命名事件来调用函数对象(监听器).例如,一个net.Server对象会在每次有新连接时触发一个事件:一个 fs.ReadStream 会在文件被打开时触发一个事件:一个 stream会在数据可读时触

Backbone事件Events

说道Backbone的事件机制.自己也是逗逼了.敲了一遍Backbone的源码..居然是还不知道他的机制.. 先上Events On对象的源码 /** * Created by More on 2015/11/28. */var Events = Backbone.Events ={ /** * params: * events : 事件们 * callback : 回调函数 * context : 上下文,俗称的this * * **/ on: function(events,callback

js事件——Events

没有共产党就没有新中国,没有 events 就没有 scripts.每个包含 JavaScript 的页面中: 几乎所有的脚本都是由 event 触发的.原因很简单. JavaScript 可以增加交互性: user 做一些操作,页面给出响应.Events 是所有 JavaScript 应用的小心脏.本文介绍了事件处理机制,相关问题以及如何写出跨浏览器的 scripts.同时也展示了几个带有事件处理细节的页面. 因此JavaScript 检测用户的操作,以便知道何时做出反应,反应时执行哪个 fu

PhoneGap事件Events

参考官网:http://www.phonegap100.com/doc/cordova_events_events.md.html#Events 分析几个事件: 一. deviceready  事件 在使用 PhoneGap 开发应用时,deviceready 事件是非常常用的.这一事件在设备的本地 环境和页面完全加载完成之后才触发 注意:此事件一般晚于 jquery  的 ready 事件,jquery 的 ready 事件是在 DOM  完全加载 完成后触发,deviceready 则是设备

Node.js之事件events

Events a.EventEmitter支持多个事件监听,最大为10,也可以自定义最大数 //添加监听var EventEmitter = require('events').EventEmitter;var instance = new EventEmitter();instance.on('event',function(arguments){}); b.如果超过十个也能执行,不过有可能会造成内存泄漏 //自定义最大数//每个setMaxListeners针对的是一个特定事件:即event

08慕课网《进击Node.js基础(一)》事件events

引用events模块中的EventEmitter 事件的监听和发射 相同的事件发射数量有限,可以通过setMaxListeners设置峰值 var EventEmitter = require('events').EventEmitter var life = new EventEmitter() //加不加都没有报警告 //life.setMaxListeners(10) life.on('clickEvent',function(who){ console.log('给' + who + '

12-01JavaScript事件(Events)

JS事件 1.js事件通常和函数结合来使用,这样可以通过发生的事件来驱动函数的执行,从而引起html出现不同的效果. 2.属性(当这些事件的属性发生时,会触发function{}的函数): 1)onabort:当图像加载被中断时,会引发function内的函数. 2)onbur:当元素失去焦点: 3)onfocus:当元素获得焦点 4)onclick:鼠标点击某个对象 5)ondbclick:鼠标双击某个对象 6)onerror:当加载文档或图像时发生某个错误 7)onchange:当用户改变域

1201JavaScript事件(Events)

JS事件 1.js事件通常和函数结合来使用,这样可以通过发生的事件来驱动函数的执行,从而引起html出现不同的效果. 2.属性(当这些事件的属性发生时,会触发function{}的函数): 1)onabort:当图像加载被中断时,会引发function内的函数. 2)onbur:当元素失去焦点: 3)onfocus:当元素获得焦点 4)onclick:鼠标点击某个对象 5)ondbclick:鼠标双击某个对象 6)onerror:当加载文档或图像时发生某个错误 7)onchange:当用户改变域