1 2 3 4 5 6 下一页 通过使用页上的 NET UpdatePanel Web 服务器控件,可以在 ASP.net 中实现异步回发。UpdatePanel 控件不再需要在每次回发时刷新整个页面,这样将改善用户体验。在浏览器中,Microsoft AJAX Library 中的 Sys.WebForms.PageRequestManager 类在客户端页生命周期中管理事件以进行异步回发。可以通过处理 PageRequestManager 类公开的事件来自定义异步回发出现的方式。 先决条件 若要在您自己的开发环境中实现这些过程,您需要: Microsoft Visual Studio 2005 或 Microsoft Visual Web Developer 速成版。 一个支持 AJAX 的 ASP.NET 网站。 创建取消回发的脚本 首先,创建用于管理浏览器中的异步回发的 ECMAScript (JavaScript) 代码。 创建 JavaScript 代码以取消回发 在 ASP.NET 网站中,添加新的 JScript 文件并将其命名为 CancelPostback.js。 向文件中添加以下脚本: var divElem = ''AlertDiv''; var messageElem = ''AlertMessage''; Sys.Application.add_load(ApplicationLoadHandler) function ApplicationLoadHandler(sender, args) { Sys.WebForms.PageRequestManager.getInstance().add_initializeRequest(CheckStatus); } function CheckStatus(sender, args) { var prm = Sys.WebForms.PageRequestManager.getInstance(); if (prm.get_isInAsyncPostBack() & args.get_postBackElement().id == ''CancelRefresh'') { prm.abortPostBack(); } else if (prm.get_isInAsyncPostBack() & args.get_postBackElement().id == ''RefreshButton'') { args.set_cancel(true); ActivateAlertDiv(''visible'', ''Still working on previous request.''); } else if (!prm.get_isInAsyncPostBack() & args.get_postBackElement().id == ''RefreshButton'') { ActivateAlertDiv(''visible'', ''Retrieving headlines.''); } } function ActivateAlertDiv(visString, msg) { var adiv = $get(divElem); var aspan = $get(messageElem); adiv.style.visibility = visString; aspan.innerHTML = msg; } if(typeof(Sys) !== "undefined") Sys.Application.notifyScriptLoaded();
(责任编辑:admin) |