简短回答: 如果您的页面/站点当前不依赖于UpdatePanel或ACT控件,一定要使用jQuery和jQuery UI进行任何新工作。这甚至是微软自己的建议。 长回答: 在处理这个主题时,明确术语是很重要的。 NET AJAX部分是客户端的,但也部分是服务器端的。System.Web.Extensions来自Atlas,最终集成到ASP.NET3.5中.即使您不使用ScriptManager或MicrosoftAjax.js,ASP.NET AJAX的服务器端部分对于创建基于JSON的服务器端端点(以及那些没有ScriptManager的may be called directly from jQuery)仍然非常有用。 jQuery和MicrosoftAjax.js有点相似,但两者都做了对方不做的事情。严格地说,它们相互竞争并不准确;他们有不同的目标。如果你的应用程序有任何UpdatePanels,你别无选择,只能包括MicrosoftAjax.js(它是自动与ScriptManager)。jQuery和MicrosoftAjax.js确实可以很好地结合在一起,所以如果你必须的话,你仍然可以使用use jQuery's more powerful selectors, traversals, and animations in conjunction with UpdatePanels。 AJAX控件工具包(ACT)是一个不同的项目,完全独立于ASP.NETAJAX。它最直接地与jQuery UI进行比较,而不是jQuery核心本身。展望未来,我认为我们将看到大多数仅限客户端的AJAX Control Toolkit控件被重构为jQuery插件(去年年底已经发生了,但它们被拉下)。 最后,如果两者都存在等效的解决方案,那么最好使用jQuery或jQuery UI而不是MicrosoftAjax.js或ACT。但是,如果您使用UpdatePanels或其他现有代码绑定到MicrosoftAjax.js,请不要害怕将jQuery与之混合,并慢慢过渡到jQuery。他们配合得很好。
在我看来,jQuery比Ajax Control Toolkit好得多。对我来说,主要的原因是社区给了我很大的支持。不仅是web上的jQuery文档更好,而且jQuery不是一个以. NET为中心的框架,社区更大,这意味着从Ruby on Rails开发人员到PHP开发人员的任何人都可以像.NET开发人员一样帮助您编写代码,这显然很难找到。 除此之外,我已经有了比Toolkit更好的性能,我发现它更容易编写和自定义。你一定会爱上**jQuery UI**。 顺便说一句,要知道,通过简单地在ASPX页面上启用ScriptManager,你加载了一堆脚本,这给你的页面增加了额外的负载。在混淆jQuery和Toolkit之前需要记住的一些东西。
引用自this blog: 但是,在Visual Studio 2008 Service Pack 1中,我们还添加了对日益流行的jQuery库的支持。也就是说,你可以沿着使用jQuery和ASP.NET,也可以在VisualStudio 2008中获得jQuery的智能感知。 以及: 对于使用JavaScript在ASP.NET中实现AJAX的客户端编程,建议使用jQuery,它将沿着Visual Studio,并提供智能感知。 对于服务器端编程,您可以使用服务器控件,如UpdatePanel等,以及AJAX Control Toolkit,现在有近40个控件。
5条答案
按热度按时间tct7dpnv1#
简短回答:
如果您的页面/站点当前不依赖于UpdatePanel或ACT控件,一定要使用jQuery和jQuery UI进行任何新工作。这甚至是微软自己的建议。
长回答:
在处理这个主题时,明确术语是很重要的。
NET AJAX部分是客户端的,但也部分是服务器端的。System.Web.Extensions来自Atlas,最终集成到ASP.NET3.5中.即使您不使用ScriptManager或MicrosoftAjax.js,ASP.NET AJAX的服务器端部分对于创建基于JSON的服务器端端点(以及那些没有ScriptManager的may be called directly from jQuery)仍然非常有用。
jQuery和MicrosoftAjax.js有点相似,但两者都做了对方不做的事情。严格地说,它们相互竞争并不准确;他们有不同的目标。如果你的应用程序有任何UpdatePanels,你别无选择,只能包括MicrosoftAjax.js(它是自动与ScriptManager)。jQuery和MicrosoftAjax.js确实可以很好地结合在一起,所以如果你必须的话,你仍然可以使用use jQuery's more powerful selectors, traversals, and animations in conjunction with UpdatePanels。
AJAX控件工具包(ACT)是一个不同的项目,完全独立于ASP.NETAJAX。它最直接地与jQuery UI进行比较,而不是jQuery核心本身。展望未来,我认为我们将看到大多数仅限客户端的AJAX Control Toolkit控件被重构为jQuery插件(去年年底已经发生了,但它们被拉下)。
最后,如果两者都存在等效的解决方案,那么最好使用jQuery或jQuery UI而不是MicrosoftAjax.js或ACT。但是,如果您使用UpdatePanels或其他现有代码绑定到MicrosoftAjax.js,请不要害怕将jQuery与之混合,并慢慢过渡到jQuery。他们配合得很好。
ih99xse12#
jQuery更受欢迎,主要是因为它是平台无关的,但它本身就是一个很好的系统。
我也不认为ASP.NETAJAX对于那些在微软平台上开发的人来说有什么错。
这两种我都用过,但我现在倾向于jQuery,主要是因为那里有可用的资源和示例。
这是否意味着微软的发行注定要失败?还没有。只要有一定数量的人在使用它,它就会存在,但我认为它将永远扮演jQuery的第二把交椅。
如果您是一个只使用ASP.NET的开发人员,那么可以看一看这两种方法,并使用最适合您的方法。如果你在不同的平台上开发,那么选择jQuery可能更明智。
PS.还有其他跨平台的AJAX框架也在那里。
2nbm6dog3#
在我看来,jQuery比Ajax Control Toolkit好得多。对我来说,主要的原因是社区给了我很大的支持。不仅是web上的jQuery文档更好,而且jQuery不是一个以. NET为中心的框架,社区更大,这意味着从Ruby on Rails开发人员到PHP开发人员的任何人都可以像.NET开发人员一样帮助您编写代码,这显然很难找到。
除此之外,我已经有了比Toolkit更好的性能,我发现它更容易编写和自定义。你一定会爱上**jQuery UI**。
顺便说一句,要知道,通过简单地在ASPX页面上启用ScriptManager,你加载了一堆脚本,这给你的页面增加了额外的负载。在混淆jQuery和Toolkit之前需要记住的一些东西。
j2datikz4#
NET Ajax和ASP.NET Ajax工具箱是两个独立的东西。该工具包是一组ASP.NET控件(以及其他一些东西)。这是服务器端代码和一些JavaScript。NET Ajax是一个应用程序框架,您可以使用它来创建和管理客户端控件;是JavaScript NET Ajax工具包就是基于这个框架的。
jQuery和ASP.NETAjax在功能上有一些重叠,但它们绝不是相互排斥的。jQuery主要用于更新和操作标记。NET Ajax旨在提供一个应用程序框架。
微软最近决定不与jQuery竞争,而是投资于它,因为jQuery和ASP.NET Ajax可以很好地协同工作,相互补充。jQuery是shipped with Visual Studio。
因此,要回答第一个问题,您应该使用最适合这项工作的JavaScript库,无论是jQuery还是ASP.NETAjax。
是否要使用Toolkit,这取决于您有多喜欢与ASP.NET控件搏斗。如果你喜欢像ASP>NET MVC这样的精简编码,我会像扔烫手山芋一样扔掉它。如果您在一个传统的WebForms项目中,这个工具包可能已经很好了。
798qvoo85#
我认为
ASP.NET Ajax Toolkit
在引擎盖下使用了jQuery
。(这是错误的)。你可以使用两者。我想这取决于你喜欢什么,因为
Ajax Toolkit
提供了你可以在服务器端使用的控件,而jQuery
永远只在客户端使用。所以你可能会同时使用这两种方法:当一个控件存在于
Ajax Toolkit
中,并且你需要一些服务器端属性/访问器等。使用它,如果你需要一些Toolkit没有提供的功能,使用纯jQuery
。微软正在与
jQuery
社区合作,并向他们提交了一些补丁。所以我想他们会继续维护工具包。Ajax Toolkit
仅仅是纯jQuery
功能之上的一层,并提供服务器端控件。更新:
引用自this blog:
但是,在Visual Studio 2008 Service Pack 1中,我们还添加了对日益流行的jQuery库的支持。也就是说,你可以沿着使用jQuery和ASP.NET,也可以在VisualStudio 2008中获得jQuery的智能感知。
以及:
对于使用JavaScript在ASP.NET中实现AJAX的客户端编程,建议使用jQuery,它将沿着Visual Studio,并提供智能感知。
对于服务器端编程,您可以使用服务器控件,如UpdatePanel等,以及AJAX Control Toolkit,现在有近40个控件。