【发布时间】:2009-10-01 12:02:44
【问题描述】:
在我们正在开发的网络应用程序中,有一段时间用户通过提供一些参数来提交搜索(这是一个预订系统,因此“参数”= 2 个日期)。
然后用查询结果填充一个隐藏的表(或者更好的是空表)。
现在我的问题来了:对 WebMethod 进行 AJAX 调用更好,还是只让 UpdatePanel 中的“搜索”按钮并在服务器端更新它?
在this post 中,Encosia 指出每次异步回发时面板中的所有内容都会更新。
因此,鉴于此应用程序必须尽可能快,并且应该使用最少的带宽,我选择了 AJAX 方法。
通过这种方式,我将每次搜索的大小从 40-60KB 降低到 ~1KB(最大!)。
执行是“搜索按钮单击”-> Ajax 调用 WebMethod -> JSON 化结果读取和 JQuery HTML 注入表内。
但是这种方法存在一些问题,较大的代码难以维护(客户端性能不是大问题,构建表大约需要 12 毫秒)。
【问题讨论】:
-
您几乎已经回答了自己的问题。每种方法都有优点和缺点。作为设计师/开发人员,您需要权衡这些因素并提出满足您大部分要求的方法。
-
我在帖子中遗漏的一点是,通过使用 AJAX,我完全避免了使用 ScriptManager 和 UpdatePanels。页面中加载的javascript少了很多。但是,看看 ASP .NET 4.0 中的变化,我可能会要求恢复到 UpdatePanel 以获得更好的可维护性。
标签: c# asp.net ajax updatepanel