One of my clients has an application which makes extremely heavy use of UpdatePanels. That’s my way of saying it was “architected” by idiots. It’s okay for me to say that, as they didn’t design it themselves – instead they paid a set of so called experts to do it for them. HINT: when you’re nesting UpdatePanels more than 3-4 levels deep, and using them in repeater templates then you’re doing it wrong.
A couple of changes they wanted made were going to be easier done using jQuery, so in it went, however it took a few more tweaks to get it working correctly due to the UpdatePanels.
The short summary is that you can get the two to play nicely together, depending on what you’re doing of course. In my case the physical location of the JavaScript seemed to make a difference, but the main change was using ASP.NET Ajax’s pageLoad() event to attach my jQuery event handlers instead of (document).ready(). I also found in one instance that I had to unbind all my events before binding them, to avoid duplicate event handlers being attached to a single element when the asynchronous postbacks occur.
Some links for anyone doing something similar:
Link: (document).ready() and pageLoad() are not the same!
Link: Simplify ASP.NET AJAX client-side initialization
Link: How to call client-side Javascript function after an UpdatePanel asychronous (Ajax) request is over
Link: UpdatePanel kills my jQuery
Tags: AJAX,jQuery
Posted on Saturday, October 24, 2009 7:04 PM |