下面是从MSDN中摘录的一段描述和一个页面生命周期方法和事件触发的顺序表: “每次请求 ASP.NET 页时,服务器就会加载一个 ASP.NET 页,并在请求完成时卸载该页。...Load 事件 (OnLoad 方法) 发送回发更改通知 引发更改事件以响应当前和以前回发之间的状态更改。请参阅处理回发数据。 注意 只有引发回发更改事件的控件参与此阶段。...2、 加载视图状态 这是个比较重要的方法,我们知道,对于每次请求,实际上是由不同的页面类实例来处理的,为了保证两次请求间的状态,ASP.Net使用了ViewState,关于ViewState的描述,请参考本人的另一篇文章...2) 在子类的OnInit方法中先调用base.OnInit,这样来保证父类先执行Page_Load 5、 发送回发更改通知 这个方法对应第3步的处理回发数据,如果处理回发数据返回True,页面框架就会调用此方法来触发数据更改的事件...,所以自定义控件的回发数据更改事件需要在此方法中触发。
想了解管道模型,请参考asp.net管道模型(管线模型)之一发不可收拾)。如有不足请大家指出^_^!! ...因为Request对象不是在HttpHandler中实例化的,具体请参考:asp.net管道模型(管线模型)之一发不可收拾)。 4.页面初始化(OnInit):读取页面和控件的值,生成动态服务器控件。...(暂时不清楚哪些功能点要用到它) 6.加载页面状态(LoadPageStateFromPersistenceMedium):该事件只在IsPostBack为True时触发(所以IsPostBack等属性要在实例化时就设置好了...注意该事件加载的是页面状态而不单单是ViewState,页面状态(PageState)包含ViewState和ControlState。...15.回发事件处理:如Button的Click事件处理程序;注意——若在这里添加服务器控件,那么将不会触发loadviewstate和loadpostback。
状态对应的文字描述,只读 onreadystatechange属性为HTTP响应提供了回调的途径。...readyState的值 说明 0 对象未初始化 1 请求正在加载...2 请求已经加载完成 3 请求正在等待用户交互 4...项目一:建立Ajax和Asp.Net页面结合的案例 1....项目二:建立使用Xml格式的AJAX的页面程序 1.建立一个Asp.Net程序,可以使用动态页面也可以使用静态页面,此处使用的是静态页面,名字为SimpleAjax.htm,代码如程序清单2-2所示:
6 Event Yes Yes Yes 如果这是通过点击按钮或下拉列表的改变的一个回发,相关的事件将被触发。与事件相关的任何逻辑都可以在这里执行。...会通过IsPostBack判断是否是第一次请求,如果不是,那么首先会加载ViewState并对回发的数据进行处理。..._requestValueCollection); ...... } } 加载结束后,会经历第二次的处理回发数据的事件。...事件触发(RaiseChangedEvents-->RaisePostBackEvent) 在第二次处理回发数据之后,会调用RaiseChangedEvents方法触发控件状态改变事件响应方法,例如...,会调用RaisePostBackEvent方法触发例如按钮控件的回发事件,例如Button_Click回发事件。
Web 服务的 Javascript 代理,这使客户端脚本可以访问由强类型的 Web 服务暴露出来的方法。 Javascript 类访问 ASP.NET 认证和个性化应用服务。...1.2 错误处理 在局部输出期间,可以使用下列方法来处理错误: 设置 AllowCustomErrorsRedirect 属性,它决定了在异步回发期间发生错误时,如何使用 Web.config 文件的定制的错误节...处理 ScriptManager 控件的 AsyncPostBackError 事件,它在异步回发期间出现页面错误时触发。...5 处理异步回发中出现的异常 在此仅介绍最简单的方式。...通常,在出现异常时,.NET 框架会重定向到一个黄.色的异常页面上,但对于用异步回发的方式处理的页面来说,这会是一场灾难,无法恢复到原页面的当前状态。
使用ASP.NET AJAX框架我们可以搭建快速响应、具有丰富的用户体验的AJAX Web应用程序,而该框架的UpdatePanel控件则提供了一种非常简单的方式来实现Web页面的局部更新,我们不需要在每次回发的时候都加载整个页面...而远程服务则是直接通过前端JavaScript来调用的服务器端服务,前段获取数据后,进行页面更新,这就要求服务器端代码必须分解为特定于应用程序的服务,这是与传统的ASP.NET应用程序完全不同的体系结构...页面中的客户端脚本,生成及注册所需要的客户端脚本,通过UpdatePanel控件可以更新页面的指定部分而无需加载整个页面。...3.2 服务器端的处理 AJAX回发请求到达服务器之后,当前页面的生命周期跟普通回发引起的请求是一样的,页面的Init、Load和Render等等事件都会被触发,差别只是在于AJAX回发使用了不同的呈现画法...AJAX回发引起的请求生命周期: ? 从上图我们可以看到,页面的生命周期与普通回发是一样的,同样页面上的控件也会经历相应的生命周期。
Microsoft ASP.NET 2.0 通过客户端回调功能(英文)引入了独具特色的异步回调,并且最近宣布(英文)代号为“Atlas”的 AJAX 正在实现中。...我们还想传入国家/地区 ID 参数和完成服务器端函数后 Ajax.NET 应调用的回调函数。...后一个功能帮助确保文档不会永远处于锁定状态。为此,在本指南中,我们将跳过与 AJAX 实现不相关的功能;但是,可下载项目包含所有功能。...在加载页面时仅发生第一次调用,每隔 X 秒发生后续调用。...通常,可以通过触发 JavaScript OnBeforeUnLoad 事件或 OnUnload 事件达到此目的,这会打开新的小型弹出式窗口,该弹出式窗口在加载页面时做一些清理然后自行关闭。
新增的页面事件: 在ASP.NET 2.0中,一个ASP.NET页面的生命周期主要为(红色字体表示ASP.NET 2.0新增加的阶段页面事件):客户端请求页面—》预初始化(OnPreInit)—》初始化...OnInitComplete)—》载入ViewState(LoadViewState)—》处理回送数据(IPostBackDataHandler)—》Page_OnPreLoad—》Page_OnLoad—》回发更改通知...(RaisePostDataChangedEvent)—》处理回发事件(RaisePostBackEvent)—》Page_OnLoadComplete—》预呈现(OnPreRender)—》完成预呈现...OnPreInit:在初始化页面OnInit事件前触发。在这个阶段里,可以进行定义站点主题(Theme)或加载站点个性化所需要的数据信息等操作。...OnInitComplete:完成初始化页面OnInit事件后触发。 OnPreLoad:在加载页面OnLoad事件前触发。 OnLoadComplete:完成页面加载OnLoad事件后触发。
良好用电的一般原则 为了最大限度地延长电池寿命,你必须尽量减少硬件处于高功率状态的时间,让硬件尽可能的处于空闲状态。...对于web开发者来说,有三种交互场景需要注意: 用户主动与内容交互 页面处于前台,但是用户没有交互 页面处于后台 高效的用户交互 用户交互的时候肯定会耗电。页面需要快速的加载,并且能够快速的响应触摸。...不过,在初始页面加载后继续加载资源和运行脚本时要小心。我们要尽快让系统返回空闲状态。总的来说,浏览器已经完成了布局和渲染,js执行的越少,耗电越少。...看起来处于空闲状态的页面,如果正在后台进行工作,其用户交互的响应效率也会降低,因此最小化后台活动也可以提高响应能力以及电池寿命。...例如,以下屏幕截图显示了滚动具有复杂渲染和视频播放的页面时的线程: ? 在寻找优化点时,应关注主线程,因为js运行在主线程上(除非您正在使用Workers)。
比如ScriptManager位于master页面,该控件位于内容页面(子页面)。 Timer 按定义的时间间隔执行回发。...如果仅在Asp.Net页面上放置了ScriptManager控件,它就会负责加载Asp.Net AJAX需要的JavaScript库。...如果能在页面执行较长时间操作的同时,给用户提供一个类似于浏览器状态栏那样的进度条,将会很大地改善用户体验。...top: 150px; height:20px; background-color: #ffff99;"> 正在加载数据...System.Threading.Thread.Sleep(3000); Label1.Text= DateTime.Now.ToLongDateString(); } } 注意:如果异步回发只需要很少的时间
不过,也有可能,处于可见状态的页面长时间没有操作,也会进入 Frozen 阶段。 这个阶段的特征是,网页不会再被分配 CPU 计算资源。...定时器、回调函数、网络请求、DOM 操作都不会执行,不过正在运行的任务会执行完。浏览器可能会允许 Frozen 阶段的页面,周期性复苏一小段时间,短暂变回 Hidden 状态,允许一小部分任务执行。...document.onresume属性指的是页面离开 Frozen 阶段、进入可用状态时调用的回调函数。...经过这个事件,网页进入 Terminated 状态。 3.9 unload 事件 unload事件在页面正在卸载时触发。经过这个事件,网页进入 Terminated 状态。...五、document.wasDiscarded 如果某个选项卡处于 Frozen 阶段,就随时有可能被系统丢弃,进入 Discarded 阶段。如果后来用户再次点击该选项卡,浏览器会重新加载该页面。
, PreLoad, Load, ProcessPostData(第二次)--首先从页面回传的数据加载ViewState对象,所有的数据都会以Base64(ViewState)编 码随页面传入服务器。...两次ProcessPostData均是必须的: 第一次:保证了页面在被加载之前,所有的数据从页面上被读入,这样页面加载时就可以访问所有的数据。...触发事件:ChangedEvents, PostbackEvent.这里首先会比较ViewState中数据和页面上一次回传的数据,决定哪一些事件需要被触发,这里的事件是被逐一触发的,但顺序无法确定。...然后查看是否触发PostBack事件,也就是页面提交的事件; 保存状态并呈现页面:SaveState, SaveStateComplete, Render等步骤.首先页面会编码保存所有的ViewState...而把每一个访问者的数据保存在服务器代价太大,asp.net对这个问题的解决方法就是页面状态的保存:ViewState机制(Java 中的Page); Asp.net服务器空间从Control继承名为
不过,也有可能,处于可见状态的页面长时间没有操作,也会进入 Frozen 阶段。 这个阶段的特征是,网页不会再被分配 CPU 计算资源。...定时器、回调函数、网络请求、DOM 操作都不会执行,不过正在运行的任务会执行完。浏览器可能会允许 Frozen 阶段的页面,周期性复苏一小段时间,短暂变回 Hidden 状态,允许一小部分任务执行。...注意,从 Frozen 阶段进入 Discarded 阶段,不会触发任何事件,无法指定回调函数,只能在进入 Frozen 阶段时指定回调函数。...经过这个事件,网页进入 Terminated 状态。 3.9 unload 事件 unload事件在页面正在卸载时触发。经过这个事件,网页进入 Terminated 状态。...五、document.wasDiscarded 如果某个选项卡处于 Frozen 阶段,就随时有可能被系统丢弃,进入 Discarded 阶段。如果后来用户再次点击该选项卡,浏览器会重新加载该页面。
今天我们来了解一下在ASP.NET中ViewState的作用。 ViewState=视图状态; ViewState的通用解释就是:是 ASP.NET 页中的存储库,可以存储必须在回发过程中保留的值。...页框架使用视图状态在各个回发之间保存控件设置。...在各个回发之间保存值,而不将这些值存储在会话状态或用户配置文件中,将信息存储在视图状态中,这样在下次将该页发送到服务器时,代码便可以在页加载事件过程中访问这些信息。...所谓回发:就是由服务器控件导致的页面刷新。 ASP.NET 页框架使用视图状态在往返过程之间保存页和控件值。...总结:ViewState由于数据存放在客户端,肯定会减少服务器的压力,但是,如果ViewState的数据量过大,肯定是会影响页面的加载速度和性能的。
Ajax的主要思想是使Web页可以在后台(或者说是异步的)发送HTTP请求,而不需要重新读取整个页面(用Asp.Net的话来说,就是不需要往返行程或回发)。...就像Asp.Net可以帮你管理HTTP的功能那样,Asp.Net AJAX也可以管理Ajax的功能,比如回发、状态管理以及使Asp.Net正常运转所需要的那些客户端脚本等。 ...Asp.Net页面可以使用整页回发或异步请求这两种方式来完成不同的任务。...项目一:建立没有AJAX的简单的Asp.Net页面 首先建立一个没有使用AJAX功能的简单页面,该页面只需要一个标签控件和一个服务器端按钮控件。...终端用户单击页面上的按钮时,会执行服务器回传的完整过程,重新处理整个页面,并返回给客户的浏览器。
此功能带给 ASP.NET 性能上的好处,因为它将许多页面编译为单个程序集。从已加载的程序集访问一页比每页加载新的程序集要快。...22.避免到服务器的不必要的往返过程 虽然您很可能希望尽量多地使用 Web 窗体页框架的那些节省时间和代码的功能,但在某些情况下却不宜使用 ASP.NET 服务器控件和回发事件处理。...使用 Page.IsPostBack 避免对往返过程执行不必要的处理 如果您编写处理服务器控件回发处理的代码,有时可能需要在首次请求页时执行其他代码,而不是当用户发送包含在该页中的 HTML 窗体时执行的代码...注意 如果不运行这种检查,回发页的行为将不更改。Page_Load 事件的代码在执行服务器控件事件之前执行,但只有服务器控件事件的结果才可能在输出页上呈现。...ASP.NET应用程序性能测试 在对ASP.NET应用程序进行性能测试之前,应确保应用程序没有错误,而且功能正确。
如果页面开发人员要使用这些事件,需要在基类中重写这些方法(例如,需要为页面加载事件重写 Page.OnLoad,而不是使用 Page_Load 方法)。...此功能带给 ASP.NET 性能上的好处,因为它将许多页面编译为单个程序集。从已加载的程序集访问一页比每页加载新的程序集要快。...避免到服务器的不必要的往返过程 虽然您很可能希望尽量多地使用 Web 窗体页框架的那些节省时间和代码的功能,但在某些情况下却不宜使用 ASP.NET 服务器控件和回发事件处理。...注意 如果不运行这种检查,回发页的行为将不更改。Page_Load 事件的代码在执行服务器控件事件之前执行,但只有服务器控件事件的结果才可能在输出页上呈现。...ASP.NET应用程序性能测试 在对ASP.NET应用程序进行性能测试之前,应确保应用程序没有错误,而且功能正确。
loc=zh 使用 ASP.NET AJAX 取消服务器任务 在上个月,我构建了一个框架,用以从客户端监视正在执行的服务器端任务。...使用 PMF,您可以使服务器端任务注册其操作的当前状态(表示为百分比形式,或是对剩余时间的估计),还可以使客户端服务通过 Ping 服务器来读取此状态信息。...实现此类改进行为只需添加一些新的服务器控件(特别是 ScriptManager 和 UpdatePanel),并让它们悄悄地施展一些技巧,通过 XMLHttpRequest 对象运行的异步请求来转换传统的回发...这些库通常至少包含一套现成的客户端用户界面小工具和一个带有为每个已加载文档定义生命周期的事件的应用程序模型。...而且此方法可保持页面的简洁,不会受混乱的 Silverlight 特定的 JavaScript 所影响,从而可轻松进行维护和部署。
eval(“(“+xhr.responseText+”)”).result); xhr = null; } } xhr.send(null); } XMLHttpRequest() 这个对象可以在不重新加载页面的情况下从后台获取数据...以及 Opera ActiveXObject(“Microsoft.XMLHTTP”) 这个对象是针对老式ie浏览器的 onreadystatechange事件 当readyState的值发生改变时触发此事件...(尚未调用open方法) 1(初始化)已调用send()方法,正在发送请求 2(发送数据)send()方法调用完成,但是当前的状态及http头未知 3(数据传送中)已接收部分数据,因为相应及http头不全...And XML”(异步JavaScript和XML),是指一种创建交互式网页应用的网页开发技术....回北京后又快一个月了,上次在家写的下回预告,到底是没把加水印写完,而且这次也不想写.. 2.
当您有一个想要在页面加载时 启动的 JavaScript 函数时,最好使用该类。...} protected void ImageButton1_Click(object sender,ImageClickEventArgs e) { Label1.Text = "回发...除了使用 RegisterClientScriptBlock 方法添加了 JavaScript 函数外, 我们还添加了一些额外的 JavaScript(只是为了增添点乐趣), 以便在终端用户将鼠标置于按钮上时文本会显示在浏览器的状态栏中...函数嵌入 ASP.NET 页面的方法, 那么,二者之间有何不同呢?...主要区别在于,RegisterStartupScript 方法是将 JavaScript 嵌入到 ASP.NET 页面的底部,恰好位于关闭元素 的前面。
领取专属 10元无门槛券
手把手带您无忧上云