ASP.NET Ajax控件套件与JQuery

时间:2010-07-28 12:58:26

标签: asp.net jquery ajax

在过去的两年中,JQuery变得越来越流行。所以你认为现在是时候用Ajax在ASP.NET项目中选择JQuery到ASP.NET Ajax了吗? ASP.NET Ajax控件工具包是ASP.NET世界的未来吗?

5 个答案:

答案 0 :(得分:3)

简短回答:

如果您的页面/网站当前不依赖于UpdatePanel或ACT控件,肯定会使用jQuery和jQuery UI进行任何新工作。这甚至是微软自己的建议。

答案很长:

在处理这个主题时,明确术语很重要。

ASP.NET AJAX是客户端的一部分,但也是服务器端的一部分。 System.Web.Extensions来自Atlas,最终集成到ASP.NET 3.5中。即使您不使用ScriptManager或MicrosoftAjax.js,ASP.NET AJAX的服务器端部分对于创建基于JSON的服务器端端点(以及那些没有ScriptManager的may be called directly from jQuery)仍然非常有用。

jQuery和MicrosoftAjax.js有些相似,但两者都做了另一件事情。说它们相互竞争并不严格准确;他们有不同的目标。如果您的应用程序有任何UpdatePanel,您别无选择,只能包含MicrosoftAjax.js(随ScriptManager自动进入)。 jQuery和MicrosoftAjax.js确实很好地结合在一起,所以如果你必须的话,你仍然可以use jQuery's more powerful selectors, traversals, and animations in conjunction with UpdatePanels

AJAX Control Toolkit(ACT)是一个完全独立于ASP.NET AJAX的不同项目。它最直接与jQuery UI进行比较,而不是jQuery核心本身。展望未来,我认为我们会看到大多数仅客户端的AJAX Control Toolkit控件被重构为jQuery插件(已经发生在去年年底,但它们被拉了)。

最终,如果两者都存在等效的解决方案,最好是支持jQuery或jQuery UI而不是MicrosoftAjax.js或ACT。但是,如果您使用UpdatePanels或其他现有代码与MicrosoftAjax.js绑定,请不要害怕将jQuery与jQuery混合并慢慢转换为jQuery。他们一起工作很好。

答案 1 :(得分:2)

jQuery更受欢迎,主要是因为它与平台无关,但它本身就是一个很好的系统。

对于那些在Microsoft平台上开发的人来说,我认为ASP.NET AJAX没有任何问题。

我已经使用过两者,但我现在误以为jQuery,主要是因为那里有资源和样本。

这是否意味着MS产品注定失败?还没。只要有一定数量的人使用它,它就会存在,但我认为它总是会成为jQuery的第二小提琴。

如果您是仅限ASP.NET的开发人员,请查看两者并使用最适合您的人。如果你在不同的平台上开发,那么建立jQuery可能更合适。

PS。还有其他跨平台的AJAX框架......

答案 2 :(得分:1)

在我看来,jQuery比Ajax Control Toolkit更好。我的主要原因是社区给予了很大的支持。 Web上的jQuery文档不仅更好,而且jQuery不是以.NET为中心的框架,社区更大,这意味着从Ruby on Rails开发人员到PHP开发人员都可以帮助您完成代码。作为.NET开发人员,显然很难找到。

除此之外,我的性能比Toolkit更好,而且我发现用自定义编写起来要容易得多。你必须爱 jQuery UI

顺便提一下,请注意,只需在ASPX页面上启用ScriptManager,就可以加载一堆脚本,为页面添加额外的负载。在混合使用jQuery和Toolkit之前需要考虑的事情。

答案 3 :(得分:1)

我认为ASP.NET Ajax Toolkit正在使用jQuery(这是错误的)。

您可以同时使用两者。我想这取决于你喜欢什么,因为Ajax Toolkit提供了可以使用服务器端的控件,而jQuery将始终只是客户端。

所以你可能会同时使用两者:当Ajax Toolkit中存在一个控件而你需要一些服务器端属性/访问器等时,如果你需要一些工具包不提供的功能,请使用它,使用纯jQuery

Microsoft正在与jQuery社区合作,并向他们提交一些补丁。所以我猜他们会继续维护工具包。 Ajax Toolkit只是纯jQuery个函数的一个层,并提供服务器端控件。

<强>更新
来自this blog的有趣引语:

  

然而,使用Visual Studio 2008   Service Pack 1,我们还增加了支持   对于不断增长的流行jQuery   图书馆。也就是说,你可以使用jQuery   与ASP.NET一起,也会得到   Visual中jQuery的intellisense   Studio 2008。

并且:

  

使用的客户端编程   用于实现AJAX的JavaScript   ASP.NET,建议使用   jQuery将被运送   使用Visual Studio并提供   intellisense也是。

     

对于服务器端编程一个你   可以像使用服务器控件一样   UpdatePanel等,以及AJAX   Control Toolkit,接近40   现在控制。

答案 4 :(得分:1)

ASP.NET Ajax和ASP.NET Ajax工具包是两个独立的东西。该工具包是一组ASP.NET控件(以及其他一些东西)。这是服务器端代码和一些JavaScript。 ASP.NET Ajax是一个可用于创建和管理客户端控件的应用程序框架;这是Javascript。 ASP.NET Ajax工具包基于此框架。

jQuery和ASP.NET Ajax在功能上有一些重叠,但它们绝不是互斥的。 jQuery主要用于更新和操作标记。 ASP.NET Ajax旨在提供应用程序框架。

微软最近决定不与jQuery竞争,而是投资它,因为jQuery和ASP.NET Ajax可以很好地协同工作并相互补充。 JQuery实际上是shipped with Visual Studio

因此,要回答您的第一个问题,您应该使用最适合该工作的JavaScript库,即jQuery或ASP.NET Ajax。

是否要使用Toolkit,这取决于您喜欢与ASP.NET控件进行摔跤的程度。如果你像ASP&gt; NET MVC那样进行精益求精的编码,我会把它丢掉,就像烫手山芋一样。如果您使用的是传统的WebForms项目,那么该工具包可能就像它将要获得的那样好。