ASP.NET UpdatePanel, Ajax, and jQuery problems and solution
I am finishing work on an eCommerce application and there is some AJAX functionality that I had to add to several of the pages.
Prior to this, I was adding some behaviors to elements of the page using jQuery's ready function:
I added several UpdatePanels that were being updated by some AJAX calls. Everything seemed to work great, until I noticed that once any of the AJAX updated the UpdatePanel that all the behaviours I was setting up using jQuery were gone!!
I spent a while digging around and found a comment by "gt1329a" here:
http://forums.asp.net/p/1189519/2039138.aspx#2039138
In his/her comment they mention that "pageLoad fires after every partial postback" - which was essentially resetting the page without re-initializing the jQuery $(document).ready()...
So to clarify his/her "quick and dirty solution", I modified the code so it looks like this:
I have some concerns about doing this, but being a pragmatist, I am satisfied with the result. The AJAX calls all work, and all the behaviors I need to add into the page are functioning as expected.
Please comment if this post is helpful.
Prior to this, I was adding some behaviors to elements of the page using jQuery's ready function:
// inside my script.js file
jQuery(function($) {
$(document).ready(function(){
// code here
}});
I added several UpdatePanels that were being updated by some AJAX calls. Everything seemed to work great, until I noticed that once any of the AJAX updated the UpdatePanel that all the behaviours I was setting up using jQuery were gone!!
I spent a while digging around and found a comment by "gt1329a" here:
http://forums.asp.net/p/1189519/2039138.aspx#2039138
In his/her comment they mention that "pageLoad fires after every partial postback" - which was essentially resetting the page without re-initializing the jQuery $(document).ready()...
So to clarify his/her "quick and dirty solution", I modified the code so it looks like this:
// inside my script.js file
/* // sorry jQuery
jQuery(function($) {
$(document).ready(function(){ */
function pageLoad()
{
// code here
}
/*}});*/
I have some concerns about doing this, but being a pragmatist, I am satisfied with the result. The AJAX calls all work, and all the behaviors I need to add into the page are functioning as expected.
Please comment if this post is helpful.
Labels: ASP.NET, bug, javascript, jQuery, solution, updatepanel
0 Comments:
Post a Comment
<< Home