Follow me on Twitter at Twitter.com/wbm
FYI, I'm blogging most of my stuff over at More Wally now.
You might want to add my rss feed to your reader at:http://morewally.com/cs/blogs/wallym/rss.aspx
UpdatePanel Data Transfer and the beginRequest and endRequest client side page life cycle events - Microsoft AJAX Library and ASP.NET 2.0 AJAX Extensions - Wallace B. McClure

Wallace B. McClure

All About Wally McClure - The musings of Wallym on Web, HTML5, Mobile, Xamarin.iOS, Xamarin.Android, and Windows Azure.

News

Visual Studio Magazine Column Personal Blog

.NET

Book Authors

Business

Family

Friends

Georgia Tech Bloggers

Personal

Archives

UpdatePanel Data Transfer and the beginRequest and endRequest client side page life cycle events - Microsoft AJAX Library and ASP.NET 2.0 AJAX Extensions

Cross posted from: http://morewally.com/cs/blogs/wallym/archive/2006/11/01/470.aspx

Is AJAX really AJAX?  The answer, like many other things, is “It Depends.”  The AJAX acronym states that the X is for XML.  I can’t speak for all frameworks, but some frameworks use JSON (JavaScript Object Notation) for some amount of their data transfer. 

The UpdatePanel is a little bit different.  It doesn’t always use JSON.  It uses a custom textual format.  On the arguments of the EndRequest  handler that I created, the Args.get_response().getResponseData() method returns the content that is sent from the server to the web browser when the updatepanel sends data down to the client.  The format of the data seems to be: Size|ControlType|ControlName|ControlData.  In this case, the size is 2775 bytes(I assume), the updatePanel is being acted on, the control that is acted upon is uplSearch, and then the data that is sent.

 

I hope that this is an interesting fact that has brightened your day.  Note that this also shows how to use the beginRequest and endRequest client side page life cycle events.

 

Code I used:

        <script language="javascript" type="text/javascript">

        <!--

        Sys.WebForms.PageRequestManager.getInstance().add_beginRequest(beginRequestHandle);

        Sys.WebForms.PageRequestManager.getInstance().add_endRequest(endRequestHandle);

        function beginRequestHandle(sender, Args)

        {

            alert("Begin Request Handle called.");

        }

        function endRequestHandle(sender, Args)

        {

            for(m in Args.get_response())

            {

                if((m.indexOf("get_") == 0)&&(m!="get_object"))

                {

                    alert(m + ": " + eval("Args.get_response()." + m + "()"));

                }

            }

            alert("End Request Handle called.");

        }

        -->

        </script>

 

Data that was sent back:

Comments

cyril said:

Good thing to know how works the pageRequestManager, but a tool like fiddler is better to see this. For information, in the Atlas CTP, XML was used to transfeir this information.
# November 2, 2006 2:36 AM