<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://weblogs.asp.net/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Tutto .NET : callbacks</title><link>http://weblogs.asp.net/alessandro/archive/tags/callbacks/default.aspx</link><description>Tags: callbacks</description><dc:language>en</dc:language><generator>CommunityServer 2007 SP1 (Build: 20510.895)</generator><item><title>Ajax 1.0 XMLHTTP callbacks via Updatepanel in Custom Web Controls. POWERFUL and cake!!!</title><link>http://weblogs.asp.net/alessandro/archive/2007/09/30/ajax-1-0-xmlhttp-callbacks-via-updatepanel-in-custom-web-controls-powerful-and-cake.aspx</link><pubDate>Sun, 30 Sep 2007 23:39:00 GMT</pubDate><guid isPermaLink="false">c06e2b9d-981a-45b4-a55f-ab0d8bbfdc1c:4260990</guid><dc:creator>alessandro</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://weblogs.asp.net/alessandro/rsscomments.aspx?PostID=4260990</wfw:commentRss><comments>http://weblogs.asp.net/alessandro/archive/2007/09/30/ajax-1-0-xmlhttp-callbacks-via-updatepanel-in-custom-web-controls-powerful-and-cake.aspx#comments</comments><description>&lt;P&gt;When using the brand new ajax library 1.0, officially released not more than a couple of weeks ago, we understand its a very rich control, really nice :-) &lt;/P&gt;
&lt;P&gt;&lt;BR&gt;One question that i have always asked myself is what must i do if i want to incorporate ajax functionality into my custom controls. With this, i dont mean all the glory of the ajax library clientside api only, but also a serverside api that would allowed me to communicate with my clientside, transferring data back and forth based on client interaction with my control. Just like the functionality exposed by the updatepanel. Prior to the ajax libraries we made callbacks via an interface we had to implement on our pages or controls --&amp;gt;&amp;gt; ICallbackEventHandler Interface ; it was very nice, gave us a lot of flexibility but i did find it quite limiting at times and a bit cumbersome too, simply because it werent bringing much to the table, so to speak. It did do a lot of work for us in the background for free. Eg, when implementing this interface we could make use of buildin functionality that took care of : &lt;/P&gt;
&lt;P&gt;1. RaiseCallbackEvent &amp;lt;--- A method that occurred serverside when a client callback request was made.&lt;BR&gt;2. GetCallbackResult &amp;lt;--- A second method on the serverside that allowed us to send back output, which had to be a string, no html was allowed without some tweaking to the code that made the callback because it only supported textResponse.&lt;BR&gt;3. Even though the entire page was requested, so the whole page went through its life cycle as if a normal took place, when the output was rendered back, only the string returned by GetCallbackResult was sent back.&lt;BR&gt;4. Some built in functionality that actually allowed us to distinguish btw a postback and a client callback --&amp;gt;&amp;gt; Page.IsCallback &lt;/P&gt;
&lt;P&gt;And a few other things that you can explore for yourselves or already know :D The issue here is, your left with wanting more functionality, typical :P I was a bit delusional when i found out that the ajax libraries werent bringing much innovation in this area and that i'd still have to use ICallbackEventHandler. Ofcourse, I was wrong. The solution was right there in front of me. The updatepanel! The updatepanel not only allows you to use it declaratively, but you can use it programmatically in code as well, adding triggers at runtime, adding the updatecontrol itself at runtime as if it were any other control, and above all nesting content in its content template if you need to. It's so cool, and very rich in functionality, however, vast as it is, the only thing i want to cover in this post is how to make use of the updatepanel to start a callback from your clientside code, catch the callback on the serverside, distinguish who made the callback, and take further action based on that, by either refreshing the content in the updatepanels content template OR sending data back to the client, which can include markup or just text :-) &lt;/P&gt;
&lt;P&gt;And not only, the features are just too much to describe here, but the ajax library very nicely mirrors the asp.net serverside api on the clientside, so basically you can subscribe to events on the clientside for page_load etc. Here, what we want to subscribe to is BeginRequestHandler, when the request was started by the client, before it gets to the server and EndRequestHandler which is the event raised after we got a response from the server. These two events also nicely allow us to show some kind of progress indicator while the callback is taking place. WE ARE GETTING ALL THIS FUNCTIONALITY FREE! Nice! &lt;/P&gt;
&lt;P&gt;For simplicity i am not registering this clientside subscription to BeginRequestHandler and EndRequestHandler in the custom control, which is what you want to do. The code that follows is so simple that i have decided not to waste time leaving comments :P The control renders 3 clickable spans. I have used spans because i didnt want the easy way out, which was to use a control that already had postback events and self contained like the button, linkbutton etc. &lt;/P&gt;
&lt;P&gt;Besides the dynamic time changing, which is included in the updatepanels content template, the output you should expect is : &lt;/P&gt;
&lt;P style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-TOP: 0px"&gt;Static time: 3/22/2007 11:47:12 AM&lt;BR&gt;&lt;BR&gt;&lt;/P&gt;
&lt;DIV id=ctl02 style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-TOP: 0px"&gt;Dynamic time: 3/22/2007 11:47:12 AM&lt;BR&gt;&lt;BR&gt;&lt;SPAN id=span1_prd1 style="BORDER-RIGHT: rgb(0,0,0) 1px solid; BORDER-TOP: rgb(0,0,0) 1px solid; BACKGROUND: yellow 0% 50%; MARGIN: 2px; BORDER-LEFT: rgb(0,0,0) 1px solid; CURSOR: pointer; BORDER-BOTTOM: rgb(0,0,0) 1px solid; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial"&gt;click1&lt;/SPAN&gt;&lt;SPAN id=span2_prd1 style="BORDER-RIGHT: rgb(0,0,0) 1px solid; BORDER-TOP: rgb(0,0,0) 1px solid; BACKGROUND: yellow 0% 50%; MARGIN: 2px; BORDER-LEFT: rgb(0,0,0) 1px solid; CURSOR: pointer; BORDER-BOTTOM: rgb(0,0,0) 1px solid; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial"&gt;click2&lt;/SPAN&gt;&lt;SPAN id=span3_prd1 style="BORDER-RIGHT: rgb(0,0,0) 1px solid; BORDER-TOP: rgb(0,0,0) 1px solid; BACKGROUND: yellow 0% 50%; MARGIN: 2px; BORDER-LEFT: rgb(0,0,0) 1px solid; CURSOR: pointer; BORDER-BOTTOM: rgb(0,0,0) 1px solid; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial"&gt;click3&lt;/SPAN&gt; &lt;/DIV&gt;
&lt;H1 style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-TOP: 0px"&gt;Sending data from click1&lt;/H1&gt;
&lt;DIV class=wlWriterSmartContent id=57F11A72-B0E5-49c7-9094-E3A15BD5B5E6:f6925dbf-0824-4ea1-a864-31c09d8b9a95 contentEditable=false style="PADDING-RIGHT: 0px; DISPLAY: inline; PADDING-LEFT: 0px; FLOAT: none; PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-TOP: 0px"&gt;&lt;PRE style="BACKGROUND-COLOR: white"&gt;&lt;DIV&gt;&lt;!--

Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/

--&gt;&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;using&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,0)"&gt; System;
&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;using&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,0)"&gt; System.Web;
&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;using&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,0)"&gt; System.Web.UI;
&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;using&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,0)"&gt; System.Web.UI.WebControls;
&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;namespace&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,0)"&gt; DummyControls
{
    &lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(128,128,128)"&gt;///&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,128,0)"&gt; &lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(128,128,128)"&gt;&amp;lt;summary&amp;gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,128,0)"&gt;
    &lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(128,128,128)"&gt;///&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,128,0)"&gt; Summary description for PartialRefreshDummy
    &lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(128,128,128)"&gt;///&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,128,0)"&gt; &lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(128,128,128)"&gt;&amp;lt;/summary&amp;gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(128,128,128)"&gt;
&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,0)"&gt;    &lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;public&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,0)"&gt; &lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;class&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,0)"&gt; PartialRefreshDummy : WebControl, IPostBackEventHandler 
    {
        &lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,128,0)"&gt;//&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,128,0)"&gt; Defines the Click event.&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,128,0)"&gt;
&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,0)"&gt;        &lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;public&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,0)"&gt; &lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;event&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,0)"&gt; EventHandler Click1;
        &lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;public&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,0)"&gt; &lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;event&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,0)"&gt; EventHandler Click2;
        &lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;public&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,0)"&gt; &lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;event&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,0)"&gt; EventHandler Click3;
        
        &lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;public&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,0)"&gt; ScriptManager sm;
        &lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;public&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,0)"&gt; PartialRefreshDummy() : &lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;base&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,0)"&gt;(&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,0)"&gt;"&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,0)"&gt;div&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,0)"&gt;"&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,0)"&gt;)
        {
            &lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,128,0)"&gt;//&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,128,0)"&gt;
            &lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,128,0)"&gt;//&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,128,0)"&gt; TODO: Add constructor logic here
            &lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,128,0)"&gt;//
&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,0)"&gt;        }
        &lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,128,0)"&gt;//&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,128,0)"&gt;Invoke delegates registered with the Click event.&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,128,0)"&gt;
&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,0)"&gt;        &lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;protected&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,0)"&gt; &lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;virtual&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,0)"&gt; &lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;void&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,0)"&gt; OnClick1(EventArgs e)
        {
            sm.RegisterDataItem(&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;this&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,0)"&gt;, &lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,0)"&gt;"&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,0)"&gt;&amp;lt;h1&amp;gt;Sending data from click1&amp;lt;/h1&amp;gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,0)"&gt;"&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,0)"&gt;);
            &lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;if&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,0)"&gt; (Click1 &lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,0)"&gt;!=&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,0)"&gt; &lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;null&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,0)"&gt;)
            {
                Click1(&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;this&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,0)"&gt;, e);
            }
        }

        &lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;protected&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,0)"&gt; &lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;virtual&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,0)"&gt; &lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;void&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,0)"&gt; OnClick2(EventArgs e)
        {
            sm.RegisterDataItem(&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;this&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,0)"&gt;, &lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,0)"&gt;"&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,0)"&gt;&amp;lt;h2&amp;gt;Sending data from click2&amp;lt;/h2&amp;gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,0)"&gt;"&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,0)"&gt;);
            &lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;if&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,0)"&gt; (Click2 &lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,0)"&gt;!=&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,0)"&gt; &lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;null&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,0)"&gt;)
            {
                Click2(&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;this&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,0)"&gt;, e);
            }
        }

        &lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;protected&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,0)"&gt; &lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;virtual&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,0)"&gt; &lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;void&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,0)"&gt; OnClick3(EventArgs e)
        {
            sm.RegisterDataItem(&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;this&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,0)"&gt;, &lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,0)"&gt;"&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,0)"&gt;&amp;lt;h3&amp;gt;Sending data from click3&amp;lt;/h3&amp;gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,0)"&gt;"&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,0)"&gt;);
            &lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;if&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,0)"&gt; (Click3 &lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,0)"&gt;!=&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,0)"&gt; &lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;null&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,0)"&gt;)
            {
                Click3(&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;this&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,0)"&gt;, e);
            }
        }


        &lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,128,0)"&gt;//&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,128,0)"&gt; Define the method of IPostBackEventHandler that raises change events.&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,128,0)"&gt;
&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,0)"&gt;        &lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;public&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,0)"&gt; &lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;void&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,0)"&gt; RaisePostBackEvent(&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;string&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,0)"&gt; eventArgument)
        {
            &lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;switch&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,0)"&gt; (eventArgument)
            {
                &lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;case&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,0)"&gt; &lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,0)"&gt;"&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,0)"&gt;click1&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,0)"&gt;"&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,0)"&gt;:
                    OnClick1(&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;new&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,0)"&gt; EventArgs());
                    &lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;break&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,0)"&gt;;
                &lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;case&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,0)"&gt; &lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,0)"&gt;"&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,0)"&gt;click2&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,0)"&gt;"&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,0)"&gt;:
                    OnClick2(&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;new&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,0)"&gt; EventArgs());
                    &lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;break&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,0)"&gt;;
                &lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;case&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,0)"&gt; &lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,0)"&gt;"&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,0)"&gt;click3&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,0)"&gt;"&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,0)"&gt;:
                    OnClick3(&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;new&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,0)"&gt; EventArgs());
                    &lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;break&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,0)"&gt;;
            }
        }
        &lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;protected&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,0)"&gt; &lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;override&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,0)"&gt; &lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;void&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,0)"&gt; OnLoad(EventArgs e)
        {
            &lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;base&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,0)"&gt;.OnLoad(e);
            sm &lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,0)"&gt;=&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,0)"&gt; ScriptManager.GetCurrent(Page);
        }
        &lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;protected&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,0)"&gt; &lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;override&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,0)"&gt; &lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;void&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,0)"&gt; CreateChildControls()
        {
            &lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;base&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,0)"&gt;.CreateChildControls();
            ClientScriptManager cs &lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,0)"&gt;=&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,0)"&gt; Page.ClientScript;

            &lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;string&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,0)"&gt; click1 &lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,0)"&gt;=&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,0)"&gt; cs.GetPostBackEventReference(&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;this&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,0)"&gt;, &lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,0)"&gt;"&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,0)"&gt;click1&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,0)"&gt;"&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,0)"&gt;);
            &lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;string&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,0)"&gt; click2 &lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,0)"&gt;=&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,0)"&gt; cs.GetPostBackEventReference(&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;this&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,0)"&gt;, &lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,0)"&gt;"&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,0)"&gt;click2&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,0)"&gt;"&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,0)"&gt;);
            &lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;string&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,0)"&gt; click3 &lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,0)"&gt;=&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,0)"&gt; cs.GetPostBackEventReference(&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;this&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,0)"&gt;, &lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,0)"&gt;"&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,0)"&gt;click3&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,0)"&gt;"&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,0)"&gt;);
            
            &lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;string&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,0)"&gt; postback1 &lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,0)"&gt;=&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,0)"&gt; &lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;string&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,0)"&gt;.Format(&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,0)"&gt;"&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,0)"&gt;&amp;lt;span id=\"span1_{0}\" onclick=\"{1}\" style=\"border:1px solid #000;margin:2px;background:yellow;cursor:pointer\"&amp;gt;click1&amp;lt;/span&amp;gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,0)"&gt;"&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,0)"&gt;, &lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;this&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,0)"&gt;.ClientID, click1);
            &lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;string&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,0)"&gt; postback2 &lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,0)"&gt;=&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,0)"&gt; &lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;string&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,0)"&gt;.Format(&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,0)"&gt;"&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,0)"&gt;&amp;lt;span id=\"span2_{0}\" onclick=\"{1}\" style=\"border:1px solid #000;margin:2px;background:yellow;cursor:pointer\"&amp;gt;click2&amp;lt;/span&amp;gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,0)"&gt;"&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,0)"&gt;, &lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;this&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,0)"&gt;.ClientID, click2);
            &lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;string&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,0)"&gt; postback3 &lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,0)"&gt;=&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,0)"&gt; &lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;string&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,0)"&gt;.Format(&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,0)"&gt;"&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,0)"&gt;&amp;lt;span id=\"span3_{0}\" onclick=\"{1}\" style=\"border:1px solid #000;margin:2px;background:yellow;cursor:pointer\"&amp;gt;click3&amp;lt;/span&amp;gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,0)"&gt;"&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,0)"&gt;, &lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;this&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,0)"&gt;.ClientID, click3);
            Control parent;
            Control container;
            &lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;if&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,0)"&gt; (sm &lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,0)"&gt;==&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,0)"&gt; &lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;null&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,0)"&gt; &lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,0)"&gt;||&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,0)"&gt; &lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,0)"&gt;!&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,0)"&gt;sm.EnablePartialRendering)
            {
                &lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,128,0)"&gt;//&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,128,0)"&gt; If user did not add a scriptmanager control or has disabled
                &lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,128,0)"&gt;//&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,128,0)"&gt; partial rendering, use a
                &lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,128,0)"&gt;//&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,128,0)"&gt; dummy control as the container and gracefully degrade to 
                &lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,128,0)"&gt;//&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,128,0)"&gt; full postbacks&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,128,0)"&gt;
&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,0)"&gt;                parent &lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,0)"&gt;=&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,0)"&gt; container &lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,0)"&gt;=&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,0)"&gt; &lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;new&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,0)"&gt; Control();
            }
            &lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;else&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,0)"&gt;
            {
                &lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,128,0)"&gt;//&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,128,0)"&gt; Create an UpdatePanel control.&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,128,0)"&gt;
&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,0)"&gt;                UpdatePanel up &lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,0)"&gt;=&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,0)"&gt; &lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;new&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,0)"&gt; UpdatePanel();
                &lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,128,0)"&gt;//&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,128,0)"&gt; Instead of adding child controls directly to 
                &lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,128,0)"&gt;//&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,128,0)"&gt; the UpdatePanel control, add them to its 
                &lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,128,0)"&gt;//&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,128,0)"&gt; ContentTemplateContainer.&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,128,0)"&gt;
&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,0)"&gt;                container &lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,0)"&gt;=&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,0)"&gt; up.ContentTemplateContainer;
                &lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,128,0)"&gt;//&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,128,0)"&gt; Create triggers for our 3 events --&amp;gt;&amp;gt; click1, click2, click3&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,128,0)"&gt;
&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,0)"&gt;                AsyncPostBackTrigger apbt1 &lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,0)"&gt;=&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,0)"&gt; &lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;new&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,0)"&gt; AsyncPostBackTrigger();
                apbt1.ControlID &lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,0)"&gt;=&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,0)"&gt; &lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;this&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,0)"&gt;.ClientID;
                apbt1.EventName &lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,0)"&gt;=&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,0)"&gt; &lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,0)"&gt;"&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,0)"&gt;click1&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,0)"&gt;"&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,0)"&gt;;

                AsyncPostBackTrigger apbt2 &lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,0)"&gt;=&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,0)"&gt; &lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;new&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,0)"&gt; AsyncPostBackTrigger();
                apbt2.ControlID &lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,0)"&gt;=&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,0)"&gt; &lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;this&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,0)"&gt;.ClientID;
                apbt2.EventName &lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,0)"&gt;=&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,0)"&gt; &lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,0)"&gt;"&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,0)"&gt;click2&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,0)"&gt;"&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,0)"&gt;;

                AsyncPostBackTrigger apbt3 &lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,0)"&gt;=&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,0)"&gt; &lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;new&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,0)"&gt; AsyncPostBackTrigger();
                apbt3.ControlID &lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,0)"&gt;=&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,0)"&gt; &lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;this&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,0)"&gt;.ClientID;
                apbt3.EventName &lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,0)"&gt;=&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,0)"&gt; &lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,0)"&gt;"&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,0)"&gt;click3&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,0)"&gt;"&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,0)"&gt;;

                up.Triggers.Add(apbt1);
                up.Triggers.Add(apbt2);
                up.Triggers.Add(apbt3);
                parent &lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,0)"&gt;=&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,0)"&gt; up;
            }
            Controls.Add(&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;new&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,0)"&gt; LiteralControl(&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,0)"&gt;"&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,0)"&gt;Static time: &lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,0)"&gt;"&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,0)"&gt; &lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,0)"&gt;+&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,0)"&gt; DateTime.Now.ToString() &lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,0)"&gt;+&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,0)"&gt; &lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,0)"&gt;"&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,0)"&gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,0)"&gt;"&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,0)"&gt;));
            container.Controls.Add(&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;new&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,0)"&gt; LiteralControl(&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,0)"&gt;"&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,0)"&gt;Dynamic time: &lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,0)"&gt;"&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,0)"&gt; &lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,0)"&gt;+&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,0)"&gt; DateTime.Now.ToString() &lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,0)"&gt;+&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,0)"&gt; &lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,0)"&gt;"&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,0)"&gt;&amp;lt;br /&amp;gt;&amp;lt;br /&amp;gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,0)"&gt;"&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,0)"&gt;));
            container.Controls.Add(&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;new&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,0)"&gt; LiteralControl(postback1));
            container.Controls.Add(&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;new&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,0)"&gt; LiteralControl(postback2));
            container.Controls.Add(&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;new&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,0)"&gt; LiteralControl(postback3));
            Controls.Add(parent);
            
        }

    }
}&lt;/SPAN&gt;&lt;/DIV&gt;&lt;/PRE&gt;&lt;/DIV&gt;
&lt;DIV class=wlWriterSmartContent id=57F11A72-B0E5-49c7-9094-E3A15BD5B5E6:d2020916-27fb-4e43-9b4a-c6956ac522b0 contentEditable=false style="PADDING-RIGHT: 0px; DISPLAY: inline; PADDING-LEFT: 0px; FLOAT: none; PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-TOP: 0px"&gt;&lt;PRE style="BACKGROUND-COLOR: white"&gt;&lt;DIV&gt;&lt;!--

Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/

--&gt;&lt;SPAN style="COLOR: rgb(0,0,0); BACKGROUND-COLOR: rgb(255,255,0)"&gt;&amp;lt;%&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,0); BACKGROUND-COLOR: rgb(245,245,245)"&gt;@ Page Language&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,0); BACKGROUND-COLOR: rgb(245,245,245)"&gt;=&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,0); BACKGROUND-COLOR: rgb(245,245,245)"&gt;"&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,0); BACKGROUND-COLOR: rgb(245,245,245)"&gt;C#&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,0); BACKGROUND-COLOR: rgb(245,245,245)"&gt;"&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,0); BACKGROUND-COLOR: rgb(245,245,245)"&gt; &lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,0); BACKGROUND-COLOR: rgb(255,255,0)"&gt;%&amp;gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,0)"&gt;
&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,0); BACKGROUND-COLOR: rgb(255,255,0)"&gt;&amp;lt;%&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,0); BACKGROUND-COLOR: rgb(245,245,245)"&gt;@ Register TagPrefix&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,0); BACKGROUND-COLOR: rgb(245,245,245)"&gt;=&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,0); BACKGROUND-COLOR: rgb(245,245,245)"&gt;"&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,0); BACKGROUND-COLOR: rgb(245,245,245)"&gt;ctl&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,0); BACKGROUND-COLOR: rgb(245,245,245)"&gt;"&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,0); BACKGROUND-COLOR: rgb(245,245,245)"&gt; Namespace&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,0); BACKGROUND-COLOR: rgb(245,245,245)"&gt;=&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,0); BACKGROUND-COLOR: rgb(245,245,245)"&gt;"&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,0); BACKGROUND-COLOR: rgb(245,245,245)"&gt;DummyControls&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,0); BACKGROUND-COLOR: rgb(245,245,245)"&gt;"&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,0); BACKGROUND-COLOR: rgb(245,245,245)"&gt; &lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,0); BACKGROUND-COLOR: rgb(255,255,0)"&gt;%&amp;gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,0)"&gt;
&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;&amp;lt;!&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(255,0,255)"&gt;DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;&amp;gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,0)"&gt;

&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(128,0,0)"&gt;script &lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(255,0,0)"&gt;runat&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;="server"&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;&amp;gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,0); BACKGROUND-COLOR: rgb(245,245,245)"&gt;

&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(128,0,0)"&gt;script&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;&amp;gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,0)"&gt;

&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(128,0,0)"&gt;html &lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(255,0,0)"&gt;xmlns&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;="http://www.w3.org/1999/xhtml"&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(255,0,0)"&gt; &lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;&amp;gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,0)"&gt;
&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(128,0,0)"&gt;head &lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(255,0,0)"&gt;runat&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;="server"&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;&amp;gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,0)"&gt;
    &lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(128,0,0)"&gt;title&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;&amp;gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,0)"&gt;Untitled Page&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(128,0,0)"&gt;title&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;&amp;gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,0)"&gt;
&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(128,0,0)"&gt;head&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;&amp;gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,0)"&gt;
&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(128,0,0)"&gt;body&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;&amp;gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,0)"&gt;
    &lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(128,0,0)"&gt;form &lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(255,0,0)"&gt;id&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;="form1"&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(255,0,0)"&gt; runat&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;="server"&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;&amp;gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,0)"&gt;
    &lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(128,0,0)"&gt;div&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;&amp;gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,0)"&gt;
     &lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(128,0,0)"&gt;asp:ScriptManager &lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(255,0,0)"&gt;ID&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;="ScriptManager1"&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(255,0,0)"&gt; EnablePartialRendering&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;="true"&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(255,0,0)"&gt; runat&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;="server"&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;&amp;gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,0)"&gt;
        &lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(128,0,0)"&gt;asp:ScriptManager&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;&amp;gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,0)"&gt;
    &lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(128,0,0)"&gt;ctl:PartialRefreshDummy &lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(255,0,0)"&gt;ID&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;="prd1"&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(255,0,0)"&gt; runat&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;="server"&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(255,0,0)"&gt; &lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;/&amp;gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,0)"&gt;
    &lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(128,0,0)"&gt;div&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;&amp;gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,0)"&gt;
    &lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(128,0,0)"&gt;div &lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(255,0,0)"&gt;id&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;="output"&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;&amp;gt;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(128,0,0)"&gt;div&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;&amp;gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,0)"&gt;
    &lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(128,0,0)"&gt;form&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;&amp;gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,0)"&gt;
    &lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(128,0,0)"&gt;script &lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(255,0,0)"&gt;type&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;="text/javascript"&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(255,0,0)"&gt; language&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;="javascript"&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;&amp;gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,0); BACKGROUND-COLOR: rgb(245,245,245)"&gt;
        Sys.WebForms.PageRequestManager.getInstance().add_beginRequest(BeginRequestHandler);
        Sys.WebForms.PageRequestManager.getInstance().add_endRequest(EndRequestHandler);
        &lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,255); BACKGROUND-COLOR: rgb(245,245,245)"&gt;function&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,0); BACKGROUND-COLOR: rgb(245,245,245)"&gt; BeginRequestHandler(sender, args)
        {
            &lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,255); BACKGROUND-COLOR: rgb(245,245,245)"&gt;var&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,0); BACKGROUND-COLOR: rgb(245,245,245)"&gt; div1 &lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,0); BACKGROUND-COLOR: rgb(245,245,245)"&gt;=&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,0); BACKGROUND-COLOR: rgb(245,245,245)"&gt; $get(&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,0); BACKGROUND-COLOR: rgb(245,245,245)"&gt;'&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,0); BACKGROUND-COLOR: rgb(245,245,245)"&gt;output&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,0); BACKGROUND-COLOR: rgb(245,245,245)"&gt;'&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,0); BACKGROUND-COLOR: rgb(245,245,245)"&gt;);
             &lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,255); BACKGROUND-COLOR: rgb(245,245,245)"&gt;var&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,0); BACKGROUND-COLOR: rgb(245,245,245)"&gt; elem &lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,0); BACKGROUND-COLOR: rgb(245,245,245)"&gt;=&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,0); BACKGROUND-COLOR: rgb(245,245,245)"&gt; args.get_postBackElement();
             div1.innerHTML &lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,0); BACKGROUND-COLOR: rgb(245,245,245)"&gt;=&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,0); BACKGROUND-COLOR: rgb(245,245,245)"&gt; &lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,0); BACKGROUND-COLOR: rgb(245,245,245)"&gt;'&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,0); BACKGROUND-COLOR: rgb(245,245,245)"&gt; BeginRequestHandler processing... for controlID: &lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,0); BACKGROUND-COLOR: rgb(245,245,245)"&gt;'&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,0); BACKGROUND-COLOR: rgb(245,245,245)"&gt; &lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,0); BACKGROUND-COLOR: rgb(245,245,245)"&gt;+&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,0); BACKGROUND-COLOR: rgb(245,245,245)"&gt; elem.id &lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,0); BACKGROUND-COLOR: rgb(245,245,245)"&gt;+&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,0); BACKGROUND-COLOR: rgb(245,245,245)"&gt; &lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,0); BACKGROUND-COLOR: rgb(245,245,245)"&gt;'&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,0); BACKGROUND-COLOR: rgb(245,245,245)"&gt;&amp;lt;br /&amp;gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,0); BACKGROUND-COLOR: rgb(245,245,245)"&gt;'&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,0); BACKGROUND-COLOR: rgb(245,245,245)"&gt;;
        }
        &lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,255); BACKGROUND-COLOR: rgb(245,245,245)"&gt;function&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,0); BACKGROUND-COLOR: rgb(245,245,245)"&gt; EndRequestHandler(sender, args)
        {
            &lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,255); BACKGROUND-COLOR: rgb(245,245,245)"&gt;var&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,0); BACKGROUND-COLOR: rgb(245,245,245)"&gt; div1 &lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,0); BACKGROUND-COLOR: rgb(245,245,245)"&gt;=&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,0); BACKGROUND-COLOR: rgb(245,245,245)"&gt; $get(&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,0); BACKGROUND-COLOR: rgb(245,245,245)"&gt;'&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,0); BACKGROUND-COLOR: rgb(245,245,245)"&gt;output&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,0); BACKGROUND-COLOR: rgb(245,245,245)"&gt;'&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,0); BACKGROUND-COLOR: rgb(245,245,245)"&gt;);
            &lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,255); BACKGROUND-COLOR: rgb(245,245,245)"&gt;var&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,0); BACKGROUND-COLOR: rgb(245,245,245)"&gt; ctlID &lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,0); BACKGROUND-COLOR: rgb(245,245,245)"&gt;=&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,0); BACKGROUND-COLOR: rgb(245,245,245)"&gt; sender._asyncPostBackControlClientIDs;
            div1.innerHTML &lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,0); BACKGROUND-COLOR: rgb(245,245,245)"&gt;+=&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,0); BACKGROUND-COLOR: rgb(245,245,245)"&gt; &lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,0); BACKGROUND-COLOR: rgb(245,245,245)"&gt;'&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,0); BACKGROUND-COLOR: rgb(245,245,245)"&gt;EndRequestHandler endprocessing...for controlID: &lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,0); BACKGROUND-COLOR: rgb(245,245,245)"&gt;'&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,0); BACKGROUND-COLOR: rgb(245,245,245)"&gt; &lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,0); BACKGROUND-COLOR: rgb(245,245,245)"&gt;+&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,0); BACKGROUND-COLOR: rgb(245,245,245)"&gt; ctlID &lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,0); BACKGROUND-COLOR: rgb(245,245,245)"&gt;+&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,0); BACKGROUND-COLOR: rgb(245,245,245)"&gt; &lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,0); BACKGROUND-COLOR: rgb(245,245,245)"&gt;'&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,0); BACKGROUND-COLOR: rgb(245,245,245)"&gt;&amp;lt;br /&amp;gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,0); BACKGROUND-COLOR: rgb(245,245,245)"&gt;'&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,0); BACKGROUND-COLOR: rgb(245,245,245)"&gt;;
            div1.innerHTML &lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,0); BACKGROUND-COLOR: rgb(245,245,245)"&gt;+=&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,0); BACKGROUND-COLOR: rgb(245,245,245)"&gt; &lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,0); BACKGROUND-COLOR: rgb(245,245,245)"&gt;'&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,0); BACKGROUND-COLOR: rgb(245,245,245)"&gt;Control who made this callback: &lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,0); BACKGROUND-COLOR: rgb(245,245,245)"&gt;'&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,0); BACKGROUND-COLOR: rgb(245,245,245)"&gt; &lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,0); BACKGROUND-COLOR: rgb(245,245,245)"&gt;+&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,0); BACKGROUND-COLOR: rgb(245,245,245)"&gt; ctlID; 
            &lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,255); BACKGROUND-COLOR: rgb(245,245,245)"&gt;var&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,0); BACKGROUND-COLOR: rgb(245,245,245)"&gt; dataItems &lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,0); BACKGROUND-COLOR: rgb(245,245,245)"&gt;=&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,0); BACKGROUND-COLOR: rgb(245,245,245)"&gt; args.get_dataItems();
            &lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,255); BACKGROUND-COLOR: rgb(245,245,245)"&gt;if&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,0); BACKGROUND-COLOR: rgb(245,245,245)"&gt; ($get(&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,0); BACKGROUND-COLOR: rgb(245,245,245)"&gt;'&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,0); BACKGROUND-COLOR: rgb(245,245,245)"&gt;prd1&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,0); BACKGROUND-COLOR: rgb(245,245,245)"&gt;'&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,0); BACKGROUND-COLOR: rgb(245,245,245)"&gt;) &lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,0); BACKGROUND-COLOR: rgb(245,245,245)"&gt;!==&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,0); BACKGROUND-COLOR: rgb(245,245,245)"&gt; &lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,255); BACKGROUND-COLOR: rgb(245,245,245)"&gt;null&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,0); BACKGROUND-COLOR: rgb(245,245,245)"&gt;)
                div1.innerHTML &lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,0); BACKGROUND-COLOR: rgb(245,245,245)"&gt;+=&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,0); BACKGROUND-COLOR: rgb(245,245,245)"&gt; dataItems[&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,0); BACKGROUND-COLOR: rgb(245,245,245)"&gt;"&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,0); BACKGROUND-COLOR: rgb(245,245,245)"&gt;prd1&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,0); BACKGROUND-COLOR: rgb(245,245,245)"&gt;"&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,0); BACKGROUND-COLOR: rgb(245,245,245)"&gt;]; 
        }
    &lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(128,0,0)"&gt;script&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;&amp;gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,0)"&gt;
&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(128,0,0)"&gt;body&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;&amp;gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,0)"&gt;
&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(128,0,0)"&gt;html&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,255)"&gt;&amp;gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: rgb(0,0,0)"&gt;
&lt;/SPAN&gt;&lt;/DIV&gt;&lt;/PRE&gt;&lt;/DIV&gt;&lt;img src="http://weblogs.asp.net/aggbug.aspx?PostID=4260990" width="1" height="1"&gt;</description><category domain="http://weblogs.asp.net/alessandro/archive/tags/ASP.NET/default.aspx">ASP.NET</category><category domain="http://weblogs.asp.net/alessandro/archive/tags/UpdatePanel/default.aspx">UpdatePanel</category><category domain="http://weblogs.asp.net/alessandro/archive/tags/callbacks/default.aspx">callbacks</category></item></channel></rss>