用 AspQ 处理多次 Postback

  • Anand Narayanaswamy
  • 雷慈祥

2012 年 12 月 27 日

话题:JavaScript语言 & 开发

AspQ是一种小巧的 JavaScript 对象,它是嵌入在 ASP.NET 中的 JavaScript 和 AJAX 运行时,可以用来处理多次 Postback,而.NET 框架不处理这个问题。它将所有的同步和异步 Postback 请求组成队列,这么做不造成任何干扰,然后按照事件顺序应用更新。

一些开发者发布了各种各样的服务端和客户端实现来处理多次 Postback。但作为开发者,你需要有很深入的领域知识以理解实现方案。

下载 JavaScript源码文件(AspQ.js)并保存到网站的脚本目录之后,你就可通过两种不同的方式操作 AspQ。首先包含下面这段代码

script type="text/javascript" src="AspQ.js"></script>

将下面这段服务端代码添加到你的 System.Web.UI.Page 的 OnInit 方法中

form runat="server" onsubmit="return AspQ.submit(this)">

开发者在项目的官方网站和他的博客上还提供了操作 AspQ 的另外一种实现。

AspQ 的开发者 Sandro Magi 说:我发布 AspQ,是因为没有 ASP.NET 多次 Postback 问题的参考解决方案。使用 AspQ 之后,你可能看不到有性能提升,除非在你的用户工作流中,多次 Postback 继续工作前不再需要等待异步请求完成。

查看英文原文:Handle Multiple Postbacks with AspQ


感谢侯伯薇对本文的审校。

给 InfoQ 中文站投稿或者参与内容翻译工作,请邮件至editors@cn.infoq.com。也欢迎大家通过新浪微博(@InfoQ)或者腾讯微博(@InfoQ)关注我们,并与我们的编辑和其他读者朋友交流。

JavaScript语言 & 开发