2010-07-28 44 views
5

Trong 2 năm qua, JQuery ngày càng trở nên phổ biến hơn. Vì vậy, bạn có nghĩ rằng, bây giờ là lúc để thích JQuery để ASP.NET Ajax trong các dự án ASP.NET với Ajax? Có ASP.NET Ajax Control Kit một tương lai trong thế giới ASP.NET?ASP.NET Ajax Control Kit so với JQuery

Trả lời

3

Câu trả lời ngắn:

Nếu trang/trang web của bạn hiện không phụ thuộc vào UpdatePanel hoặc ACT điều khiển, chắc chắn sử dụng jQuery và jQuery UI cho bất kỳ công việc mới. Đó thậm chí là đề xuất của Microsoft ngay bây giờ.

Câu trả lời dài:

Điều quan trọng là phải rõ ràng về thuật ngữ khi xử lý chủ đề này.

ASP.NET AJAX là một phần phía máy khách, nhưng cũng là một phần phía máy chủ. System.Web.Extensions đến từ Atlas và cuối cùng được tích hợp vào ASP.NET 3.5. Thậm chí nếu bạn không sử dụng một ScriptManager hoặc MicrosoftAjax.js, các phần phía máy chủ của ASP.NET AJAX vẫn rất hữu ích cho việc tạo các điểm cuối phía máy chủ dựa trên JSON (và các số này là may be called directly from jQuery, không có ScriptManager).

jQuery và MicrosoftAjax.js có phần tương tự nhau, nhưng cả hai đều làm những việc mà người khác không làm. Không hoàn toàn chính xác khi nói rằng họ cạnh tranh với nhau; họ có những mục tiêu khác nhau. Nếu ứng dụng của bạn có bất kỳ UpdatePanels nào, bạn không có lựa chọn nào khác ngoài việc bao gồm MicrosoftAjax.js (sẽ tự động đến với ScriptManager). Tuy nhiên, jQuery và MicrosoftAjax.js vẫn hoạt động tốt với nhau, vì vậy bạn vẫn có thể use jQuery's more powerful selectors, traversals, and animations in conjunction with UpdatePanels nếu bạn cần.

Bộ công cụ kiểm soát AJAX (ACT) là một dự án khác, hoàn toàn tách biệt với ASP.NET AJAX. Nó so sánh trực tiếp nhất với jQuery UI, không phải lõi jQuery. Về sau, tôi nghĩ chúng ta sẽ thấy hầu hết các điều khiển AJAX Control Toolkit chỉ phía máy khách được cấu trúc lại như các plugin jQuery (đã xảy ra vào cuối năm ngoái, nhưng chúng đã bị kéo).

Cuối cùng, tốt nhất là ưu tiên jQuery hoặc jQuery UI trên MicrosoftAjax.js hoặc ACT nếu một giải pháp tương đương tồn tại trong cả hai. Tuy nhiên, nếu bạn bị ràng buộc với MicrosoftAjax.js với UpdatePanels hoặc mã hiện có khác, đừng ngại trộn jQuery với điều đó và chuyển sang jQuery chậm. Họ làm việc tuyệt vời với nhau.

1

Theo tôi, jQuery là bước nhảy vọt và tốt hơn so với Bộ công cụ kiểm soát Ajax. Lý do chính cho tôi là sự ủng hộ tuyệt vời mà cộng đồng đã cho nó. Không chỉ là tài liệu jQuery trên web tốt hơn, nhưng bởi jQuery không phải là một khung công tác .NET, cộng đồng lớn hơn, có nghĩa là bất kỳ ai từ nhà phát triển Ruby on Rails đến một nhà phát triển PHP có thể giúp bạn với mã của bạn với tư cách là nhà phát triển .NET, điều này rõ ràng sẽ khó tìm hơn.

Ngoài ra, tôi đã có hiệu suất tốt hơn Bộ công cụ và tôi thấy dễ dàng hơn rất nhiều để viết chống lại các tùy chọn tùy chỉnh. Và bạn phải yêu thích jQuery UI.

Nhân tiện, hãy lưu ý rằng chỉ cần bật ScriptManager trên trang ASPX của bạn, tải một loạt các tập lệnh bổ sung thêm tải vào trang của bạn. Một điều cần lưu ý trước khi trộn jQuery và Bộ công cụ.

+1

Để công bằng, chỉ cần thêm một ScriptManager vào một trang chỉ thêm một tập lệnh vào trang (có kích thước tương tự với chính lõi jQuery). –

+0

Ý của tôi là việc thêm các kịch bản lệnh jQuery cũng như trình quản lý kịch bản khá lớn. Nếu bạn chỉ sử dụng một cái, tôi đoán nó rất tuyệt. – rebelliard

1

Tôi nghĩ rằng ASP.NET Ajax Toolkit đang sử dụng jQuery dưới mui xe. (điều này là sai).

Bạn có thể sử dụng cả hai. Tôi đoán nó phụ thuộc vào những gì bạn thích, bởi vì Ajax Toolkit cung cấp các điều khiển mà bạn có thể sử dụng phía máy chủ, trong khi jQuery sẽ luôn là phía máy khách. Vì vậy, bạn có thể sẽ sử dụng cả hai: khi một điều khiển tồn tại trong Ajax Toolkit và bạn cần một số thuộc tính/accessors phía máy chủ, vv. Nếu bạn cần một số chức năng không được cung cấp bởi Bộ công cụ, hãy sử dụng tinh khiết jQuery .

Microsoft đang làm việc với cộng đồng jQuery và gửi một số bản vá cho họ. Vì vậy, tôi đoán họ sẽ tiếp tục duy trì Bộ công cụ. Ajax Toolkit chỉ là một lớp trên các chức năng tinh khiết jQuery và cung cấp các điều khiển phía máy chủ.

Cập nhật:
Thú vị trích dẫn từ this blog:

Tuy nhiên, với Visual Studio 2008 Service Pack 1, chúng tôi cũng bổ sung hỗ trợ cho phổ biến thư viện jQuery ngày càng tăng. Nghĩa là, bạn có thể sử dụng jQuery cùng với ASP.NET và cũng sẽ nhận được IntelliSense cho jQuery trong Visual Studio 2008.

Và:

Đối với lập trình phía khách hàng sử dụng Javascript để thực hiện AJAX trong ASP.NET, khuyến nghị là sử dụng jQuery sẽ được xuất xưởng dọc theo với Visual Studio và cung cấp intellisense.

Để lập trình phía máy chủ, bạn có thể sử dụng các điều khiển máy chủ như UpdatePanel, v.v ...và cũng là Bộ công cụ kiểm soát AJAX có gần 40 kiểm soát ngay bây giờ.

+0

Tôi không nghĩ rằng đó là jQuery dưới mui xe được nêu ra, nhưng tôi nghi ngờ phiên bản tiếp theo sẽ là ... – PhilPursglove

+0

Nó không phải là jQuery dưới mui xe. Trong thực tế 'Atlas' được thiết kế trực tiếp như một đối thủ cạnh tranh, nhưng một lần, MS đã chấp nhận sức mạnh của jQuery và quyết định làm việc với nó hơn là chống lại nó. Tôi đã đọc không có gì về phiên bản tiếp theo được xây dựng trên jQuery, nhưng nó có thể là tiện dụng nếu nó được. – CJM

+0

Bạn nói đúng, nó không dựa trên jQuery. Tôi đã sửa lỗi. Tôi đã nhầm lẫn bởi thực tế là Visual Studio đang hỗ trợ jQuery bằng cách bao gồm thư viện và bằng cách cung cấp hỗ trợ Intellisense. –

2

jQuery là phổ biến hơn, chủ yếu bởi vì nó là nền tảng độc lập, nhưng đó là một hệ thống tốt trong quyền riêng của nó.

Tôi không nghĩ rằng có bất cứ điều gì sai với ASP.NET AJAX cho những người phát triển trên nền tảng Microsoft hoặc.

Tôi đã sử dụng cả hai, nhưng tôi đang chuyển sang jQuery ngay bây giờ, chủ yếu là do các tài nguyên và mẫu có sẵn trên mạng.

Điều đó có nghĩa là việc cung cấp MS bị tiêu diệt? Chưa. Nó sẽ tồn tại miễn là một số người nhất định đang sử dụng nó, nhưng tôi nghĩ rằng nó sẽ luôn luôn chơi thứ hai fiddle để jQuery.

Nếu bạn là nhà phát triển chỉ có ASP.NET, hãy xem nhanh cả hai và sử dụng tùy chọn nào phù hợp nhất với bạn. Nếu bạn phát triển trên các nền tảng khác nhau, sau đó giải quyết trên jQuery có thể được khuyến khích hơn.

PS. còn có các khung công tác AJAX đa nền tảng khác ngoài đó ...

1

ASP.NET Ajax và bộ công cụ ASP.NET Ajax là hai thứ riêng biệt. Bộ công cụ này là một bộ điều khiển ASP.NET (và một số công cụ khác). Đó là mã phía máy chủ và một số javascript. ASP.NET Ajax là một khung ứng dụng mà bạn có thể sử dụng để tạo và quản lý các điều khiển phía máy khách; đó là Javascript. Bộ công cụ ASP.NET Ajax dựa trên khung công tác này.

jQuery và ASP.NET Ajax có một số chồng chéo trong chức năng nhưng chúng không có nghĩa là loại trừ lẫn nhau. jQuery chủ yếu hướng đến việc cập nhật và thao tác đánh dấu. ASP.NET Ajax hướng tới việc cung cấp một khung ứng dụng.

Microsoft gần đây đã quyết định không cạnh tranh với jQuery nhưng đầu tư vào nó vì jQuery và ASP.NET Ajax làm việc tốt với nhau và bổ sung cho nhau. JQuery thực sự là shipped with Visual Studio.

Vì vậy, để trả lời câu hỏi đầu tiên của bạn, bạn nên sử dụng JavaScript JavaScript phù hợp nhất cho công việc, đó là jQuery hoặc ASP.NET Ajax.

Cho dù bạn muốn sử dụng Bộ công cụ, điều đó tùy thuộc vào số tiền bạn thích đấu vật với các điều khiển ASP.NET. Nếu bạn đang sử dụng mã hóa trung bình như ASP> NET MVC, tôi sẽ thả nó như một củ khoai tây nóng. Nếu bạn trong một dự án WebForms truyền thống, bộ công cụ này có lẽ là tốt như nó sẽ nhận được.