Having spent a fair bit of time playing around and implementing AJAX solutions, I would recommend that you do not use the UpdatePanel. Even when the UpdatePanel is working as it should, the whole of the page is still posted back, which basically defeats the object of a partial postback. Tell tell signs of this can be seen with drop down lists, that even if outside of the UpdatePanel, will flicker on partial postback. My preferred route for handling AJAX type functionality is through the use of the ScriptManager control's service references. Registreing a local web service through the ScriptManager control creates a JS web service proxy object that is very simple to use. It uses JSON encoding which means the web service response object can be easily accessed to extract the required data, and web service methods can be called as easily as Service.Method(params). You can also set up default success and failure functiojns to handle all web method responses. Check out the following which gives somke examples of how to implement the above: http://www.asp.net/AJAX/Documentation/Live/tutorials/ASPNETAJAXWebServicesTutorials.aspx http://www.semenoff.dk/en/Code-Corner/ASP.Net.AJAX/WebService-From-JavaScript.aspx
Clean code is the key to happiness.