ASP.NET Ajax vs. JQuery for web service calls - asp.net

I am dipping my feet into an app that uses both ASP.NET Ajax (ControlToolkit, etc.) as well as Jquery.
Are there any pros/cons to using the ASP.NET Ajax mechanics for calling JSON-serialized .NET web service methods ... vs. using JQuery .ajax()? (Or is it "6 and 1/2 dozen"?)
Thanks!

ASP.NET Ajax is deprecated and, I believe, no longer supported. It is pretty bulky too, as it tries to generate JavaScript objects instead of just using JSON. $.ajax is strongly recommended instead.
Here is a blog post that discusses the situation. It turns out ASP.NET Ajax is being moved into the Ajax Control Toolkit, which itself is shifting to a server-control focus. So if you're using ASP.NET WebForms and all the <asp:Whatever /> controls, Ajax Control Toolkit is OK... otherwise, e.g. if you're using ASP.NET MVC, definitely stick with jQuery.

Related

Alternative to Updatepanel in ASP.net

I want to know whether there is any better option to perform AJAX operations in my ASP.net webforms other than Updatepanel.
Because updatepanel sends lot of viewstate data in the request which in term affects the peroformace of the Application.
Thank You in Advance
You have a few options. You can disable ViewState, or you can use "plain AJAX".
If you choose to use "plain AJAX", you can write your low level JavaScript code or use libraries such as jQuery to make the AJAX calls easier.
On the server side, you'll need to expose some kind of endpoint for the AJAX calls to communicate to. Some people use WebMethod, but that has been deprecated and I would avoid this approach. You can use ASP.NET Web API in .NET 4.5, or in any version of .NET you can use handlers or generic handlers (.ashx) to expose endpoints.

Is the ASP.NET Ajax Library dead?

I've recently stumbled across a few blogs that say the ASP.NET Ajax Library is dead, in particular:
http://encosia.com/2010/10/04/understanding-jquerys-impact-on-microsoft-and-asp-net/
http://weblogs.asp.net/toddanglin/archive/2010/04/19/microsoft-ajax-client-library-is-dead-long-live-jquery.aspx
Is this generally true, technically and practically?
I've been to Microsoft talks on jQuery, and basically it sounded to me like they expected everyone to use jQuery for client-side-only DOM manipulation and ASP.NET Ajax was still used for it's Ajax components (like UpdatePanel) and as a basis for AJAX into .NET services made with WCF or just back to ASHX or other server code.
From being a component developer that targets ASP.NET, I can tell you that it's very much used by our customers, and we need to support it.
Yes, it is. Even for SharePoint developers (which uses ASP.net AJAX heavily) it's out of favor.
However, the SERVER SIDE ASP.net AJAX (UpdatePanel etc.) are alive and kicking. They have some shortcomings (UpdatePanel can send tons of viewstate back and forth).
But the Client Side Framework and ASP.net AJAX Library is dead.
Scalable comet ajax is more popular now. Try the samples of PokeIn library.
A technology can't die if it's customer base is so big!

ASP.NET AJAX - AJAX Control Toolkit - jQuery - Oh My?

Take a trip with me back in time about three years ago. I remember building web controls that were dynamically inserted into the HTML of a page via AJAX and then rendered in place. We used the Prototype JavaScript library and the XMLHTTP Request object. Microsoft ATLAS has just been released.
After about three years of non web development work in Java, Compact Framework, some iOS etc ... and I find myself in a whole new world. Microsoft AJAX, the AJAX Control Toolkit, and jQuery. I find myself with a new project that has utilized some aspects of ASP.NET AJAX but mostly just the update panel and some client-side UI updates that jQuery now seems to make trivial.
So here is the question .. Is there still value in studying and becoming familiar with ASP.NET AJAX? Is it still used going forward? What about the AJAX Control Toolkit? Has this been abandoned my Microsoft in favor of a jQuery based infrastructure? Is jQuery coupled with JSON and web services the way to retrieve data?
It's still used in the WebForms world, however Microsoft has abandoned it in the MVC framework. So unless you're a diehard WebForms guy it doesn't make much sense. Especially considering you can use jQuery in WebForms projects as well.
This article gives a pretty good summary of the jQuery/Microsoft AJAX situation. Basically, jQuery is the way forward!
I think, from a career perspective, you'd be better off becoming familiar with jQuery (or a similar client-side JavaScript framework) and having that code interact with web services, WCF services (preferred, IMHO) or, if you're using ASP.NET MVC, JsonResults.
If you go to the Microsoft AJAX site (http://asp.net/ajax), they really don't mention their AJAX framework anymore, and the AJAX Control Toolkit is really there for people who don't want to work with JavaScript.
I started off, like you, using the AJAX Framework and the AJAX Control Toolkit and have made the transition to jQuery, JSON and other, more streamlined, ways of creating web applications. I'd recommend you'd follow the jQuery/JSON/services path instead of Microsoft AJAX.
Just my 2 cents.

Using jQuery in ASP.NET

When using the AJAX functionality in jQuery, do I also have to have ASP.NET AJAX/.NET 3.5 installed also? or can I only use ASP.NET AJAX?
I'm unclear on whether or not I'm able to use AJAX in ASP.NET without ASP.NET AJAX or not.
No, you don't need ASP.NET AJAX installed to use the AJAX functionality of jQuery.
You can call PageMethods and Web Services without needing a ScriptManager control (which generates the JavaScript proxy objects that allow you to use familiar syntax to call web services and page methods).
Article on using jQuery to directly call ASP.NET AJAX page methods
Article on using jQuery to Consume ASP.NET JSON Web Services
Let me first clarify the use of jQuery. jQuery is simply a javascript library, and it has nothing to to with ASP.NET or any other server side platform such as PHP or JSP.
So you can simply use jQuery side by side with ASP.NET, or even combine jQuery with ASP.NET 3.5 that has AJAX built in.
You can also use jQuery's AJAX if you like, and it still can run in ASP.NET. If you want to combine both, please test your aspx page first if you also want to use ASP.NET's UpdatePanel with jQuery's AJAX, since it can bring incompatibilities between them.
No, if you're using jQuery you don't need ASP.NET AJAX installed.
ASP.NET Ajax is not needed in order to use jQuery, but the two work well together, hence the support from Microsoft.

How would you go about using the ASP.NET AJAX Control Toolkit in a project that doesn't use ASP.NET on the back end

Your backend could be PHP or Python but you want to use the controls from the ASP.NET toolkit is there a successful way to do this?
I don't think that it is possible.
The ASP.NET AJAX Toolkit is based on ASP.NET technique (what a surprise) and needs ASP.NET.
It contains server-side controls, which are translated to HTML and Javascript by the ASP.NET engine. It is not working without the engine.
However you can check the code itself to see how it is working, what it generates on the browser side and get ideas and Javascript codes to build into your application or framework.
Edit: I've just found an interesting project, which is in alpha stage, check this out.
Why do you want to use the ASP.NET AJAX Toolkit with PHP / Python?
Have you considered other non ASP.NET specific AJAX libraries like jQuery, Dojo, MooTools, YUI?
ASP.NET AJAX and the ASP.NET AJAX Toolkit is ASP.NET centric, you'll gain more flexibility using other AJAX libraries with PHP / Python.
are you talking about the ASP.NET AJAX Control Toolkit?
Have a look at this blogpost on Stephen Walther's blog:
ASP.NET MVC Tip #36 – Create a Popup Calendar Helper
In this post he shows how to use the 'script only' version of the AJAX Control Toolkit. This version of the AJAX Control Toolkit does not contain server-side controls or control extenders. It contains only the client-side files – JavaScript, CSS, images – required to use the client-side AJAX behaviors.
Stephen Walther is a Senior Program Manager at Microsoft who is responsible for ASP.NET MVC content and community (his job title is ASP.NET MVC Ninja).
I have found that much of the functionality in AJAX Control Toolkit can be accomplished via the javascript frameworks such as jQuery.

Resources