【问题标题】:ASP.NET Ajax Control Kit versus JQueryASP.NET Ajax 控制工具包与 JQuery
【发布时间】:2010-07-28 12:58:26
【问题描述】:

在过去的 2 年里,JQuery 变得越来越流行。那么您认为,现在是在使用 Ajax 的 ASP.NET 项目中更喜欢 JQuery 而不是 ASP.NET Ajax 的时候了吗? ASP.NET Ajax Control Kit 在 ASP.NET 世界中有前途吗?

【问题讨论】:

    标签: asp.net jquery ajax


    【解决方案1】:

    简答:

    如果您的页面/站点当前不依赖于 UpdatePanel 或 ACT 控件,绝对可以使用 jQuery 和 jQuery UI 进行任何新工作。这甚至是微软现在自己的建议。

    长答案:

    在处理这个主题时,清楚术语很重要。

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

    jQuery 和 MicrosoftAjax.js 有点相似,但两者都做对方不做的事情。严格地说它们相互竞争并不准确。他们有不同的目标。如果您的应用程序有任何 UpdatePanel,那么您别无选择,只能包含 MicrosoftAjax.js(它会随 ScriptManager 自动出现)。不过,jQuery 和 MicrosoftAjax.js 确实可以很好地配合使用,因此如果需要,您仍然可以use jQuery's more powerful selectors, traversals, and animations in conjunction with UpdatePanels。

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

    最终,如果两者都存在等效解决方案,那么最好使用 jQuery 或 jQuery UI 而不是 MicrosoftAjax.js 或 ACT。但是,如果您使用 UpdatePanels 或其他现有代码绑定到 MicrosoftAjax.js,请不要害怕将 jQuery 与它混合并慢慢过渡到 jQuery。他们合作得很好。

    【讨论】:

      【解决方案2】:

      jQuery 比较流行,主要是因为它独立于平台,但它本身就是一个很好的系统。

      对于那些在微软平台上开发的人来说,我不认为 ASP.NET AJAX 有什么问题。

      我都用过,但我现在偏向 jQuery,主要是因为那里有可用的资源和示例。

      这是否意味着 MS 产品注定要失败?还没有。只要有一定数量的人在使用它,它就会存在,但我认为它永远是 jQuery 的次要角色。

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

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

      【讨论】:

        【解决方案3】:

        在我看来,jQuery 比 Ajax 控件工具包要好得多。对我来说,主要原因是社区给予了它巨大的支持。不仅 Web 上的 jQuery 文档更好,而且由于 jQuery 不是以 .NET 为中心的框架,因此社区更大,这意味着从 Ruby on Rails 开发人员到 PHP 开发人员的任何人都可以帮助您编写代码。作为 .NET 开发人员,这显然更难找到。

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

        顺便说一句,请注意,通过简单地在 ASPX 页面上启用 ScriptManager,您会加载一堆脚本,这些脚本会为您的页面增加额外的负载。在混合 jQuery 和 Toolkit 之前要记住一些事情。

        【讨论】:

        • 公平地说,只向页面添加一个 ScriptManager 只会向页面添加一个脚本(与 jQuery 核心本身的大小差不多)。
        • 我的意思是添加 jQuery 脚本以及脚本管理器是相当庞大的。如果你只使用一个,我想这很酷。
        【解决方案4】:

        我认为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 的智能感知 工作室 2008。

        还有:

        对于客户端编程使用 用于实现 AJAX 的 JavaScript ASP.NET,推荐使用 jQuery 将一起发布 与 Visual Studio 并提供 智能感知也是如此。

        对于服务器端编程,您 可以使用服务器控件,例如 UpdatePanel 等,还有 AJAX 控制工具包有近 40 个 立即控制。

        【讨论】:

        • 我不认为它是 jQuery 的底层,但我怀疑下一个版本将是......
        • 引擎盖下不是 jQuery。事实上,'Atlas' 是直接作为竞争对手设计的,但有一次,MS 已经接受了 jQuery 的优势并决定与其合作而不是反对它。我没有读到任何关于基于 jQuery 构建的下一个版本,但如果是的话,它可能会很方便。
        • 你是对的,它不是基于 jQuery。我纠正了。我误认为 Visual Studio 通过包含库和提供 Intellisense 支持来支持 jQuery。
        【解决方案5】:

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

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

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

        所以,要回答您的第一个问题,您应该使用最适合这项工作的 JavaScript 库,无论是 jQuery 还是 ASP.NET Ajax。

        是否要使用 Toolkit,这取决于您喜欢与 ASP.NET 控件搏斗的程度。如果您喜欢像 ASP>NET MVC 这样的精益和平均编码,我会像烫手山芋一样放弃它。如果您在一个传统的 WebForms 项目中,该工具包可能与它所获得的一样好。

        【讨论】:

          猜你喜欢
          • 2011-06-19
          • 2010-11-22
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2011-01-17
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多