微软的AJAX工具包与jQuery

时间:2009-09-29 15:27:59

标签: asp.net javascript jquery ajax ajaxcontroltoolkit

自Atlas时代以来,我们的团队一直在使用微软的AJAX工具包。在bit of naivety中,我们错过了jQuery / Prototype现象,直到一两个月回来。到目前为止,我们始终将Ajax的概念与Microsoft的工具包相关联。

在阅读jQuery时,我看到了Ajax的一个全新的一面,我只是模糊地意识到了这一点。也就是说,您可以使用JavaScript(或JS库)与服务器通信,而无需使用专门的控件。乍一看,似乎这提供了更好的浏览器兼容性和更少的膨胀。我当然对它感兴趣。

我向社区提出的问题:
当使用ASP.NET并且需要在没有回发的情况下与服务器通信时,如何决定使用AJAX Toolkit中的控件而不是使用jQuery之类的东西?是否有理由同时使用它们?

6 个答案:

答案 0 :(得分:14)

我发现团队使用JavaScript和DOM的熟练程度对jQuery相对于MS控件的吸收有很大影响。如果团队很高兴不知道DOM,HTTP,异步操作,事件驱动的UI,或JSON的含义以及为什么它是猫的喵喵,我会坚持使用AjaxControlToolkit。

另一方面,如果他们一直在尝试使用工具包来直接通过JavaScript操作控件,那么jQuery就会像这样操纵DOM一样痛苦。

最后,如果您的团队可以通过.NET控件更快地进入市场,请坚持使用它来完成应用程序的整体交付,并让他们慢慢尝试jQuery的点点滴滴(动画,jquery ui,{ {1}}并将行为与表现分开)。最终你要么a)获得足够的经验,你可以将新页面/应用程序转换为100%jQuery或b)赚足够的钱聘请精通DOM脚本的人并自己教授团队;)

答案 1 :(得分:5)

好问题。

我相信虽然AJAX Toolkit控件仍然存在 - 就像经典Web窗体一样 - 在使用jQuery时,您的代码将更清晰,更易于维护。但最重要的是,您将对代码的行为方式有更多的控制和灵活性。

您可以随时使用某些控件来处理特定情况,其余部分使用jQuery。我不认为同时使用这两种方法有任何根本性的错误。

答案 2 :(得分:3)

虽然Microsoft AJAX Toolkit方便易用,但当您想要做比您设计的更复杂的事情时,它很容易快速遇到障碍。如果您有兴趣通过友好的库来学习AJAX的细节,那么JQuery就是您的最佳选择。这些知识将跨多个平台进行转换;例如,如果您的团队决定尝试使用Django,Ruby on Rails等,那么您已经拥有了JQuery作为您的首选AJAX工具包。如果您计划从ASP.NET迁移到ASP.NET MVC,尤其如此,Microsoft已将JQuery称为官方客户端javascript工具包。

答案 3 :(得分:2)

我很久以前就停止使用MS Ajax,因为我开发的许多应用程序都需要可以访问并优雅地降级。即不显眼的Javascript。我坚信MS最终会朝这个方向移动他们的Javascript东西但不仅仅是。

基本上我开发的每个网页都没有内联的javascript,无论如何禁止js文件的外部链接,页面将与javascript关闭。这是我的首要任务,但可能不是你的或任何人。这些天我们不会梦想在html而不是外部css文件中放置字体标记。随着时间的推移,我们可能会对脚本有同样的看法。

答案 4 :(得分:1)

imo它是您喜欢的。

Microsoft使用drag&删除控件,如更新面板,jquery是手工编写的,根据我的经验提供更大程度的灵活性。

JQuery似乎是目前DOM脚本和AJAX的首选框架,它只是使javascript相关任务更快更容易实现。

答案 5 :(得分:1)

AJAX Toolkit是一个很好的“遗留问题”问题的产物。 MSFT必须支持ASP(X),Web表单等... ASP(和JSP)是10多年历史的实现:在服务器端创建HTML页面。整个“交互性”是通过FORM提交来实现的。并且不可避免的页面重新加载。页面设计只能用Visual Studio进行,实际上非常困难。 这一切都不是AJAX。世界继续前进。 jQuery意味着AJAX。 jQuery是AJAX客户端的javascript库。它使用DOM和其他一些HTML +浏览器功能。 AJAX / jQuery与服务器无关:任何Web服务器都可以。 AJAX和jQuery意味着完全解耦。 MSFT AjaxToolit与ASP(X)紧密结合,不可避免地是IIS。那是昨天。 另一方面,jQuery迫使你采用今天的思考。这是件好事, 特别是如果你在ASP上被提出,你想要/需要继续前进。

幸运的是,MSFT已经意识到它必须继续前进,并且ASP.NET MVC + jQuery是“允许的”。 它不是100%的AJAX架构,而是迈向正确方向的非常好的一步。 它不是webforms。它不是ascx。

建议:永远不要让一个团队开发Web服务器端和Web应用程序客户端。使用AJAX + REST + JSON。有两个分离的团队开发松散耦合的Web应用程序。

- DBJ