Take the 2-minute tour ×

We are planning to extend an existing ASP.NET application (a real huge one) to have a slicker UI. One of the requiremnents is to have a way to execute server side code without a postback (As an example, say a user clicks on a link or hovers on a link, a popup comes up which executes server side code or makes calls to the database)

We plan to add more functionality that closely aligns with the behavior of a yahoo or a google customized page.

Is UpdatePanels a way to go or should a lot of it be implemented using JavaScript? One of the main requirements is to keep the pages as light as possible and to have good performance. We don't plan on using any 3rd party components.

What technologies are suggested that will help us add UI heavy features in the future?

Edit: Thanks everyone. It appears that the approach to take is to use a JS library such as JQuery and AJAX (from initial research the PageMethod/WebMethod way of doing it)? Any more suggestions?

share|improve this question
Using AJAX is the simplest way to meet the requirement about postbacks. jQuery can be useful for some other client-side functionality, just remember there are a lot of plug-ins for jQuery that make it useful. –  JB King Aug 7 '09 at 14:19
Using plugins and 3rd party components is discouraged here (the thinking is, we build it in house we are better off in tweaking to our needs). It appears that JQuery/AJAX is a model that is very similar to what .NET already supports? (Setting enable page method attribute in ScriptManager lets us execute static methods on the server side. Am I correct or are there any differences between the 2 models that I am missing? –  Nick Aug 7 '09 at 16:57

4 Answers 4

Just to give you a different answer than everybody else: why not try silverlight?

share|improve this answer
Unfortunately, that's not an option. This application is way to huge to try to migrate it to use the SilverLight technology. –  Nick Aug 7 '09 at 17:17

There's a lot more to ASP.NET AJAX than the UpdatePanel, and a fair amount of it can be done without heavy JavaScript work. UpdatePanel is quite inefficient in terms of the amount of data send over the wire. As with everything, only optimise when you need - but bear in mind that the UpdatePanel is one of the first places to look for your slowdowns.

share|improve this answer
True, we built a huge feature set using updatepanels and are having issues with its performance. It appears that we have to shift towards client side technologies to achieve the behavior we are seeking. –  Nick Aug 7 '09 at 16:59

Stephen Walter did a great talk about the next version of ASP.NET Ajax 4.0. It's not an immediate solution but it's interesting to see where Microsoft is going with their Ajax framework.

share|improve this answer
We are currently on the 3.5 framework and usually wait a while before upgrading. So, I guess it will be a while before we move to .NET 4.0. Thanks for the link. Very informative. –  Nick Aug 7 '09 at 2:36

I think that UpdatePanels are actually pretty clunky. (Actually, I think ASP.NET is pretty clunky now that I've moved to ASP.NET MVC). If the page is going to be highly interactive, I'd suggest using some sort of javascript framework, like jQuery, Dojo, MooTools, etc. that will allow you to do AJAX easily as well as manage the user experience client-side. MS is distributing jQuery with Visual Studio and has promised to support it, so you might want to consider that when making your decision.

share|improve this answer
Is JQuery/AJAX a light weight way of doing things? –  Nick Aug 7 '09 at 2:37
Both solutions use AJAX, but the UpdatePanel is both less configurable and harder to work with in my opinion. Calling WebMethods with jQuery Ajax is more flexible and easier. The base jQuery framework isn't very big and available to download via Google APIs so you can take advantage of their content delivery network. –  tvanfosson Aug 7 '09 at 2:57
The existing application makes heavy use of codebehind methods (or methods in the base class etc). The PageMethods/WebMethods is supported only for static methods which is a paradigm shift from how we are doing things around here. We have no web services and use a regular 3 tier architecture. –  Nick Aug 7 '09 at 16:52
You should still be able to call your PageMethods from jQuery. You just have to set up the Url in the way that ASP.NET expects. If you include a ScriptManager on the page, I believe they show up as methods on the PageMethods javascript object. –  tvanfosson Aug 7 '09 at 18:04
Isn't it true that PageMethods need to be static? I guess we lose all the benefits of referring to a UI control from the code behind (the way it's usually done. We can't do stuff like this anymore. txtTest.Text = "test"; ) –  Nick Aug 7 '09 at 18:17

Your Answer


