【发布时间】:2010-09-06 13:16:24
【问题描述】:
我们有一个包含大量 jQuery(大约 2000 行)的页面,我们想要缩减 b/c,这是维护的噩梦,在服务器上维护可能更容易。我们已经考虑过为此使用 UpdatePanel。但是,我们不喜欢 UpdatePanel 将整个页面发送回服务器这一事实。
【问题讨论】:
标签: javascript jquery asp.net ajax updatepanel
我们有一个包含大量 jQuery(大约 2000 行)的页面,我们想要缩减 b/c,这是维护的噩梦,在服务器上维护可能更容易。我们已经考虑过为此使用 UpdatePanel。但是,我们不喜欢 UpdatePanel 将整个页面发送回服务器这一事实。
【问题讨论】:
标签: javascript jquery asp.net ajax updatepanel
不要移动到更新面板。在来自 jQuery 之后,the drop in performance 将站不住脚。尤其是在您听起来那么复杂的页面上。
如果您有 2,000 行 JavaScript 代码,解决方案是重构该代码。如果将 2000 行 C# 代码放在一个文件中,也很难维护。使用任何语言或工具将难以有效管理。
如果您使用的是 3.5 SP1,您可以使用 ScriptManager 的新脚本组合将您的 JavaScript 分成多个文件,而不会受到任何惩罚。这样,您就可以像使用服务器端代码一样对代码进行逻辑分区。
【讨论】:
请不要让自己陷入那个痛苦的世界。而是使用UFRAME,它更快,并且在 jQuery 中实现。
现在,为了管理这 2000 行 Javascript 代码,我建议将代码拆分到不同的文件中,并设置您的构建过程以使用 JSMin 或 Yahoo Compressor 将它们连接成块。
【讨论】:
我不知道是否有优化 UpdatePanels 的方法,但我的公司发现它的性能很差。 jQuery 在做几乎任何事情时都要快得多。
UpdatePanel 触发更新与 UpdatePanel 实际更新页面之间可能会有很多延迟。
我们使用 UpdatePanels 的唯一原因是易于开发。几乎不需要做任何事情来让它们发挥作用。
【讨论】:
使用 UpdatePanel 会强制您使用 ScriptManager,它会在您的网页中添加大量脚本。 UpdatePanel 为您提供部分回发而不是真正的 ajax。 如果您只在局域网上运行而不是在互联网上运行,那没关系,但如果您的目标是互联网,请尝试重构您的代码并使用一些工具压缩它们,然后再发布到网站上
【讨论】: