<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:copyright="http://blogs.law.harvard.edu/tech/rss" xmlns:image="http://purl.org/rss/1.0/modules/image/">
    <channel>
        <title>Tips/Tricks</title>
        <link>http://geekswithblogs.net/rashid/category/6047.aspx</link>
        <description>Tips/Tricks</description>
        <language>en-US</language>
        <copyright>Kazi Manzur Rashid</copyright>
        <managingEditor>kazimanzurrashid@gmail.com</managingEditor>
        <generator>Subtext Version 0.0.0.0</generator>
        <item>
            <title>Compress Asp.net Ajax Web Service Response - Save Bandwidth</title>
            <link>http://geekswithblogs.net/rashid/archive/2007/09/15/Compress-Asp.net-Ajax-Web-Service-Response---Save-Bandwidth.aspx</link>
            <description>&lt;p&gt;In this post, I will show you how to compress the Asp.net Ajax Web Service response, To understand the benefits of compression let us start with a simple example, Consider you have an web service which returns a large data like the following:&lt;/p&gt;&lt;pre class="code"&gt;[&lt;span style="color: rgb(43,145,175)"&gt;WebMethod&lt;/span&gt;()]
&lt;span style="color: rgb(0,0,255)"&gt;public&lt;/span&gt; &lt;span style="color: rgb(0,0,255)"&gt;string&lt;/span&gt; GetLargeData()
{
    &lt;span style="color: rgb(0,0,255)"&gt;using&lt;/span&gt; (&lt;span style="color: rgb(43,145,175)"&gt;StreamReader&lt;/span&gt; sr = &lt;span style="color: rgb(43,145,175)"&gt;File&lt;/span&gt;.OpenText(Server.MapPath(&lt;span style="color: rgb(163,21,21)"&gt;"~/DataFile.txt"&lt;/span&gt;)))
    {
        &lt;span style="color: rgb(0,0,255)"&gt;return&lt;/span&gt; sr.ReadToEnd();
    }
}&lt;/pre&gt;
&lt;p&gt;The web method reads an large text file (around 100KB) and returns it contents. Once we call this method from a page the network activity in the firebug shows like the following:&lt;/p&gt;
&lt;p&gt;&lt;img alt="Plain" src="http://geekswithblogs.net/images/geekswithblogs_net/rashid/7075/r_Plain.jpg" /&gt;&lt;/p&gt;
&lt;p&gt;Now, lets examine the &lt;font face="Courier New"&gt;HttpModule&lt;/font&gt; which compress the Ajax Web Service response. The following shows the complete code of this module:&lt;/p&gt;&lt;pre class="code"&gt;&lt;span style="color: rgb(0,0,255)"&gt;using&lt;/span&gt; System;
&lt;span style="color: rgb(0,0,255)"&gt;using&lt;/span&gt; System.IO;
&lt;span style="color: rgb(0,0,255)"&gt;using&lt;/span&gt; System.IO.Compression;
&lt;span style="color: rgb(0,0,255)"&gt;using&lt;/span&gt; System.Globalization;
&lt;span style="color: rgb(0,0,255)"&gt;using&lt;/span&gt; System.Web;


&lt;span style="color: rgb(0,0,255)"&gt;public&lt;/span&gt; &lt;span style="color: rgb(0,0,255)"&gt;class&lt;/span&gt; &lt;span style="color: rgb(43,145,175)"&gt;JsonCompressionModule&lt;/span&gt; : &lt;span style="color: rgb(43,145,175)"&gt;IHttpModule
&lt;/span&gt;{
    &lt;span style="color: rgb(0,0,255)"&gt;public&lt;/span&gt; JsonCompressionModule()
    {
    }

    &lt;span style="color: rgb(0,0,255)"&gt;public&lt;/span&gt; &lt;span style="color: rgb(0,0,255)"&gt;void&lt;/span&gt; Dispose()
    {
    }

    &lt;span style="color: rgb(0,0,255)"&gt;public&lt;/span&gt; &lt;span style="color: rgb(0,0,255)"&gt;void&lt;/span&gt; Init(&lt;span style="color: rgb(43,145,175)"&gt;HttpApplication&lt;/span&gt; app)
    {
        app.PreRequestHandlerExecute += &lt;span style="color: rgb(0,0,255)"&gt;new&lt;/span&gt; &lt;span style="color: rgb(43,145,175)"&gt;EventHandler&lt;/span&gt;(Compress);
    }

    &lt;span style="color: rgb(0,0,255)"&gt;private&lt;/span&gt; &lt;span style="color: rgb(0,0,255)"&gt;void&lt;/span&gt; Compress(&lt;span style="color: rgb(0,0,255)"&gt;object&lt;/span&gt; sender, &lt;span style="color: rgb(43,145,175)"&gt;EventArgs&lt;/span&gt; e)
    {
        &lt;span style="color: rgb(43,145,175)"&gt;HttpApplication&lt;/span&gt; app = (&lt;span style="color: rgb(43,145,175)"&gt;HttpApplication&lt;/span&gt;)sender;
        &lt;span style="color: rgb(43,145,175)"&gt;HttpRequest&lt;/span&gt; request = app.Request;
        &lt;span style="color: rgb(43,145,175)"&gt;HttpResponse&lt;/span&gt; response = app.Response;

        &lt;span style="color: rgb(0,128,0)"&gt;//Ajax Web Service request is always starts with application/json
&lt;/span&gt;        &lt;span style="color: rgb(0,0,255)"&gt;if&lt;/span&gt; (request.ContentType.ToLower(&lt;span style="color: rgb(43,145,175)"&gt;CultureInfo&lt;/span&gt;.InvariantCulture).StartsWith(&lt;span style="color: rgb(163,21,21)"&gt;"application/json"&lt;/span&gt;))
        {
            &lt;span style="color: rgb(0,128,0)"&gt;//User may be using an older version of IE which does not support compression, so skip those
&lt;/span&gt;            &lt;span style="color: rgb(0,0,255)"&gt;if&lt;/span&gt; (!((request.Browser.IsBrowser(&lt;span style="color: rgb(163,21,21)"&gt;"IE"&lt;/span&gt;)) &amp;amp;&amp;amp; (request.Browser.MajorVersion &amp;lt;= 6)))
            {
                &lt;span style="color: rgb(0,0,255)"&gt;string&lt;/span&gt; acceptEncoding = request.Headers[&lt;span style="color: rgb(163,21,21)"&gt;"Accept-Encoding"&lt;/span&gt;];

                &lt;span style="color: rgb(0,0,255)"&gt;if&lt;/span&gt; (!&lt;span style="color: rgb(0,0,255)"&gt;string&lt;/span&gt;.IsNullOrEmpty(acceptEncoding))
                {
                    acceptEncoding = acceptEncoding.ToLower(&lt;span style="color: rgb(43,145,175)"&gt;CultureInfo&lt;/span&gt;.InvariantCulture);

                    &lt;span style="color: rgb(0,0,255)"&gt;if&lt;/span&gt; (acceptEncoding.Contains(&lt;span style="color: rgb(163,21,21)"&gt;"gzip"&lt;/span&gt;))
                    {
                        response.Filter = &lt;span style="color: rgb(0,0,255)"&gt;new&lt;/span&gt; &lt;span style="color: rgb(43,145,175)"&gt;GZipStream&lt;/span&gt;(response.Filter, &lt;span style="color: rgb(43,145,175)"&gt;CompressionMode&lt;/span&gt;.Compress);
                        response.AddHeader(&lt;span style="color: rgb(163,21,21)"&gt;"Content-encoding"&lt;/span&gt;, &lt;span style="color: rgb(163,21,21)"&gt;"gzip"&lt;/span&gt;);
                    }
                    &lt;span style="color: rgb(0,0,255)"&gt;else&lt;/span&gt; &lt;span style="color: rgb(0,0,255)"&gt;if&lt;/span&gt; (acceptEncoding.Contains(&lt;span style="color: rgb(163,21,21)"&gt;"deflate"&lt;/span&gt;))
                    {
                        response.Filter = &lt;span style="color: rgb(0,0,255)"&gt;new&lt;/span&gt; &lt;span style="color: rgb(43,145,175)"&gt;DeflateStream&lt;/span&gt;(response.Filter, &lt;span style="color: rgb(43,145,175)"&gt;CompressionMode&lt;/span&gt;.Compress);
                        response.AddHeader(&lt;span style="color: rgb(163,21,21)"&gt;"Content-encoding"&lt;/span&gt;, &lt;span style="color: rgb(163,21,21)"&gt;"deflate"&lt;/span&gt;);
                    }
                }
            }
        }
    }
}&lt;/pre&gt;
&lt;p&gt;Next, register this module in the &lt;font face="Courier New"&gt;web.config&lt;/font&gt; like the following:&lt;/p&gt;&lt;pre class="code"&gt;&lt;span style="color: rgb(0,0,255)"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: rgb(163,21,21)"&gt;httpModules&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;&amp;gt;
    &amp;lt;&lt;/span&gt;&lt;span style="color: rgb(163,21,21)"&gt;add&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt; &lt;/span&gt;&lt;span style="color: rgb(255,0,0)"&gt;name&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;=&lt;/span&gt;"&lt;span style="color: rgb(0,0,255)"&gt;ScriptModule&lt;/span&gt;"&lt;span style="color: rgb(0,0,255)"&gt; &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;=&lt;/span&gt;"&lt;span style="color: rgb(0,0,255)"&gt;System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35&lt;/span&gt;"&lt;span style="color: rgb(0,0,255)"&gt;/&amp;gt;
    &lt;strong&gt;&lt;font size="2"&gt;&amp;lt;&lt;/font&gt;&lt;/strong&gt;&lt;/span&gt;&lt;strong&gt;&lt;font size="2"&gt;&lt;span style="color: rgb(163,21,21)"&gt;add&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt; &lt;/span&gt;&lt;span style="color: rgb(255,0,0)"&gt;name&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;=&lt;/span&gt;"&lt;span style="color: rgb(0,0,255)"&gt;JsonCompressionModule&lt;/span&gt;"&lt;span style="color: rgb(0,0,255)"&gt; &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;=&lt;/span&gt;"&lt;span style="color: rgb(0,0,255)"&gt;JsonCompressionModule&lt;/span&gt;"&lt;/font&gt;&lt;/strong&gt;&lt;span style="color: rgb(0,0,255)"&gt;&lt;font size="3"&gt;&lt;strong&gt;&lt;font size="2"&gt;/&amp;gt;&lt;/font&gt;
&lt;/strong&gt;&lt;/font&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: rgb(163,21,21)"&gt;httpModules&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;p&gt;This time the network activity shows like the following:&lt;/p&gt;
&lt;p&gt;&lt;img alt="Compressed Json" src="http://geekswithblogs.net/images/geekswithblogs_net/rashid/7075/r_Compressed.jpg" /&gt;&lt;/p&gt;
&lt;p&gt;So by adding this little module, we have saved 74KB. Now consider the impact of this in an highly traffic ajax web application :-). You will find the complete source code in the bottom of this post. If you want to learn more optimization tips check out my previous post &lt;a href="http://geekswithblogs.net/rashid/archive/2007/07/29/Implement-Yahoos-YSlow-in-your-Asp.net-pages.aspx"&gt;Implement Yahoo's YSlow in your Asp.net pages&lt;/a&gt; and &lt;a href="http://geekswithblogs.net/rashid/archive/2007/07/25/Combine-Multiple-JavaScript-and-CSS-Files-and-Remove-Overheads.aspx"&gt;Combine Multiple JavaScript and CSS Files and Remove Overheads&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Download&lt;/strong&gt;: &lt;a href="http://www.box.net/shared/rxqq3muq4b" target="_blank"&gt;Full Source&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.dotnetkicks.com/kick/?url=http://geekswithblogs.net/rashid/archive/2007/09/15/Compress-Asp.net-Ajax-Web-Service-Response---Save-Bandwidth.aspx" target="_blank"&gt;&lt;img alt="kick it on DotNetKicks.com" src="http://www.dotnetkicks.com/Services/Images/KickItImageGenerator.ashx?url=http://geekswithblogs.net/rashid/archive/2007/09/15/Compress-Asp.net-Ajax-Web-Service-Response---Save-Bandwidth.aspx" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=115370"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=115370" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/rashid/aggbug/115370.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Kazi Manzur Rashid</dc:creator>
            <guid>http://geekswithblogs.net/rashid/archive/2007/09/15/Compress-Asp.net-Ajax-Web-Service-Response---Save-Bandwidth.aspx</guid>
            <pubDate>Sat, 15 Sep 2007 00:09:31 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/rashid/comments/115370.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/rashid/archive/2007/09/15/Compress-Asp.net-Ajax-Web-Service-Response---Save-Bandwidth.aspx#feedback</comments>
            <slash:comments>6</slash:comments>
            <wfw:commentRss>http://geekswithblogs.net/rashid/comments/commentRss/115370.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/rashid/services/trackbacks/115370.aspx</trackback:ping>
        </item>
        <item>
            <title>Showing Modal Progress Dialog in all Ajax Operation</title>
            <link>http://geekswithblogs.net/rashid/archive/2007/08/24/Showing-Modal-Progress-Dialog-in-all-Ajax-Operation.aspx</link>
            <description>&lt;p&gt;&lt;img alt="Modal Progress Dialog" src="http://geekswithblogs.net/images/geekswithblogs_net/rashid/7024/r_AAO.jpg" /&gt;&lt;/p&gt; &lt;p&gt;If you ever like to show a Modal Progress dialog like the above for any ajax operation no matter which Update Panel or Web Service call is responsible for it, the following code will do the same.&lt;/p&gt;&lt;pre class="code"&gt;&lt;span style="background: rgb(255,238,98)"&gt;&amp;lt;%&lt;span style="color: rgb(0,0,255)"&gt;&lt;/span&gt;@&lt;/span&gt; &lt;span style="color: rgb(163,21,21)"&gt;Page&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;="C#"&lt;/span&gt; &lt;span style="background: rgb(255,238,98)"&gt;%&amp;gt;
&lt;span style="color: rgb(0,0,255)"&gt;&lt;/span&gt;&amp;lt;!&lt;/span&gt;&lt;span style="color: rgb(163,21,21)"&gt;DOCTYPE&lt;/span&gt; &lt;span style="color: rgb(255,0,0)"&gt;html&lt;/span&gt; &lt;span style="color: rgb(255,0,0)"&gt;PUBLIC&lt;/span&gt; &lt;span style="color: rgb(0,0,255)"&gt;"-//W3C//DTD XHTML 1.0 Transitional//EN"&lt;/span&gt; &lt;span style="color: rgb(0,0,255)"&gt;"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"&amp;gt;
&amp;lt;&lt;/span&gt;&lt;span style="color: rgb(163,21,21)"&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"&amp;gt;
&lt;/span&gt;    [System.Web.Services.&lt;span style="color: rgb(43,145,175)"&gt;WebMethod&lt;/span&gt;()]
    &lt;span style="color: rgb(0,0,255)"&gt;public&lt;/span&gt; &lt;span style="color: rgb(0,0,255)"&gt;static&lt;/span&gt; &lt;span style="color: rgb(0,0,255)"&gt;string&lt;/span&gt; GetDate()
    {
        &lt;span style="color: rgb(0,128,0)"&gt;//Doing a fake delay for 3 seconds
&lt;/span&gt;        System.Threading.&lt;span style="color: rgb(43,145,175)"&gt;Thread&lt;/span&gt;.Sleep(3000);

        &lt;span style="color: rgb(0,0,255)"&gt;return&lt;/span&gt; &lt;span style="color: rgb(43,145,175)"&gt;DateTime&lt;/span&gt;.Now.ToString();
    }

    &lt;span style="color: rgb(0,0,255)"&gt;protected&lt;/span&gt; &lt;span style="color: rgb(0,0,255)"&gt;void&lt;/span&gt; Page_Load(&lt;span style="color: rgb(0,0,255)"&gt;object&lt;/span&gt; sender, &lt;span style="color: rgb(43,145,175)"&gt;EventArgs&lt;/span&gt; e)
    {
        &lt;span style="color: rgb(0,0,255)"&gt;if&lt;/span&gt; (!IsPostBack)
        {
            lblDate1.Text = lblDate2.Text = &lt;span style="color: rgb(43,145,175)"&gt;DateTime&lt;/span&gt;.Now.ToString();
        }
    }

    &lt;span style="color: rgb(0,0,255)"&gt;protected&lt;/span&gt; &lt;span style="color: rgb(0,0,255)"&gt;void&lt;/span&gt; btnDate1_Click(&lt;span style="color: rgb(0,0,255)"&gt;object&lt;/span&gt; sender, &lt;span style="color: rgb(43,145,175)"&gt;EventArgs&lt;/span&gt; e)
    {
        &lt;span style="color: rgb(0,128,0)"&gt;//Doing a fake delay for 3 seconds
&lt;/span&gt;        System.Threading.&lt;span style="color: rgb(43,145,175)"&gt;Thread&lt;/span&gt;.Sleep(3000);
        lblDate1.Text = &lt;span style="color: rgb(43,145,175)"&gt;DateTime&lt;/span&gt;.Now.ToString();
    }
&lt;span style="color: rgb(0,0,255)"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: rgb(163,21,21)"&gt;script&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;&amp;gt;
&amp;lt;&lt;/span&gt;&lt;span style="color: rgb(163,21,21)"&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(0,0,255)"&gt;&amp;gt;
&amp;lt;&lt;/span&gt;&lt;span style="color: rgb(163,21,21)"&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"&amp;gt;
&lt;/span&gt;    &lt;span style="color: rgb(0,0,255)"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: rgb(163,21,21)"&gt;title&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;&amp;gt;&lt;/span&gt;Modal Dialog Progress&lt;span style="color: rgb(0,0,255)"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: rgb(163,21,21)"&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,255)"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: rgb(163,21,21)"&gt;style&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/css"&amp;gt;
&lt;/span&gt;        &lt;span style="color: rgb(163,21,21)"&gt;.modalBackground
&lt;/span&gt;        {
            &lt;span style="color: rgb(255,0,0)"&gt;background-color&lt;/span&gt;:&lt;span style="color: rgb(0,0,255)"&gt;#e6e6e6&lt;/span&gt;;
            &lt;span style="color: rgb(255,0,0)"&gt;filter&lt;/span&gt;:&lt;span style="color: rgb(0,0,255)"&gt;alpha(opacity=60)&lt;/span&gt;;
            &lt;span style="color: rgb(255,0,0)"&gt;opacity&lt;/span&gt;:&lt;span style="color: rgb(0,0,255)"&gt;0.60&lt;/span&gt;;
        }
    &lt;span style="color: rgb(0,0,255)"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: rgb(163,21,21)"&gt;style&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;&amp;gt;
&amp;lt;/&lt;/span&gt;&lt;span style="color: rgb(163,21,21)"&gt;head&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;&amp;gt;
&amp;lt;&lt;/span&gt;&lt;span style="color: rgb(163,21,21)"&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,255)"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: rgb(163,21,21)"&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"&amp;gt;
&lt;/span&gt;        &lt;span style="color: rgb(0,0,255)"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: rgb(163,21,21)"&gt;asp&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;:&lt;/span&gt;&lt;span style="color: rgb(163,21,21)"&gt;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;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;EnablePageMethods&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;="true"&amp;gt;
&lt;/span&gt;        &lt;span style="color: rgb(0,0,255)"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: rgb(163,21,21)"&gt;asp&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;:&lt;/span&gt;&lt;span style="color: rgb(163,21,21)"&gt;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,255)"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: rgb(163,21,21)"&gt;fieldset&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;&amp;gt;
&lt;/span&gt;            &lt;span style="color: rgb(0,0,255)"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: rgb(163,21,21)"&gt;legend&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;&amp;gt;&lt;/span&gt;UpdatePanel&lt;span style="color: rgb(0,0,255)"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: rgb(163,21,21)"&gt;legend&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;&amp;gt;
&lt;/span&gt;            &lt;span style="color: rgb(0,0,255)"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: rgb(163,21,21)"&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,255)"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: rgb(163,21,21)"&gt;asp&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;:&lt;/span&gt;&lt;span style="color: rgb(163,21,21)"&gt;UpdatePanel&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;="UpdatePanel1"&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"&amp;gt;
&lt;/span&gt;                    &lt;span style="color: rgb(0,0,255)"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: rgb(163,21,21)"&gt;ContentTemplate&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;&amp;gt;
&lt;/span&gt;                        &lt;span style="color: rgb(0,0,255)"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: rgb(163,21,21)"&gt;asp&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;:&lt;/span&gt;&lt;span style="color: rgb(163,21,21)"&gt;Label&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;="lblDate1"&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"&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: rgb(163,21,21)"&gt;asp&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;:&lt;/span&gt;&lt;span style="color: rgb(163,21,21)"&gt;Label&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;&amp;gt;
&lt;/span&gt;                        &lt;span style="color: rgb(0,0,255)"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: rgb(163,21,21)"&gt;asp&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;:&lt;/span&gt;&lt;span style="color: rgb(163,21,21)"&gt;Button&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;="btnDate1"&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;Text&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;="Get Date"&lt;/span&gt; &lt;span style="color: rgb(255,0,0)"&gt;OnClick&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;="btnDate1_Click"&lt;/span&gt; &lt;span style="color: rgb(0,0,255)"&gt;/&amp;gt;
&lt;/span&gt;                    &lt;span style="color: rgb(0,0,255)"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: rgb(163,21,21)"&gt;ContentTemplate&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;&amp;gt;
&lt;/span&gt;                &lt;span style="color: rgb(0,0,255)"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: rgb(163,21,21)"&gt;asp&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;:&lt;/span&gt;&lt;span style="color: rgb(163,21,21)"&gt;UpdatePanel&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;&amp;gt;
&lt;/span&gt;            &lt;span style="color: rgb(0,0,255)"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: rgb(163,21,21)"&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,255)"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: rgb(163,21,21)"&gt;fieldset&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;&amp;gt;
&lt;/span&gt;        &lt;span style="color: rgb(0,0,255)"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: rgb(163,21,21)"&gt;fieldset&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;&amp;gt;
&lt;/span&gt;            &lt;span style="color: rgb(0,0,255)"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: rgb(163,21,21)"&gt;legend&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;&amp;gt;&lt;/span&gt;PageMethods&lt;span style="color: rgb(0,0,255)"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: rgb(163,21,21)"&gt;legend&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;&amp;gt;
&lt;/span&gt;            &lt;span style="color: rgb(0,0,255)"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: rgb(163,21,21)"&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,255)"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: rgb(163,21,21)"&gt;asp&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;:&lt;/span&gt;&lt;span style="color: rgb(163,21,21)"&gt;Label&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;="lblDate2"&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"&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: rgb(163,21,21)"&gt;asp&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;:&lt;/span&gt;&lt;span style="color: rgb(163,21,21)"&gt;Label&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;&amp;gt;
&lt;/span&gt;                &lt;span style="color: rgb(0,0,255)"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: rgb(163,21,21)"&gt;asp&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;:&lt;/span&gt;&lt;span style="color: rgb(163,21,21)"&gt;Button&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;="btnDate2"&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;Text&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;="Get Date"&lt;/span&gt; &lt;span style="color: rgb(255,0,0)"&gt;OnClientClick&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;="return btnDate2_Click()"&lt;/span&gt; &lt;span style="color: rgb(0,0,255)"&gt;/&amp;gt;
&lt;/span&gt;            &lt;span style="color: rgb(0,0,255)"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: rgb(163,21,21)"&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,255)"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: rgb(163,21,21)"&gt;fieldset&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;&amp;gt;
&lt;/span&gt;        &lt;span style="color: rgb(0,0,255)"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: rgb(163,21,21)"&gt;asp&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;:&lt;/span&gt;&lt;span style="color: rgb(163,21,21)"&gt;Panel&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;="pnlProgress"&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;style&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;="background-color:#ffffff;display:none;width:400px"&amp;gt;
&lt;/span&gt;            &lt;span style="color: rgb(0,0,255)"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: rgb(163,21,21)"&gt;div&lt;/span&gt; &lt;span style="color: rgb(255,0,0)"&gt;style&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;="padding:8px"&amp;gt;
&lt;/span&gt;                &lt;span style="color: rgb(0,0,255)"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: rgb(163,21,21)"&gt;table&lt;/span&gt; &lt;span style="color: rgb(255,0,0)"&gt;border&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;="0"&lt;/span&gt; &lt;span style="color: rgb(255,0,0)"&gt;cellpadding&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;="2"&lt;/span&gt; &lt;span style="color: rgb(255,0,0)"&gt;cellspacing&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;="0"&lt;/span&gt; &lt;span style="color: rgb(255,0,0)"&gt;style&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;="width:100%"&amp;gt;
&lt;/span&gt;                    &lt;span style="color: rgb(0,0,255)"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: rgb(163,21,21)"&gt;tbody&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;&amp;gt;
&lt;/span&gt;                        &lt;span style="color: rgb(0,0,255)"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: rgb(163,21,21)"&gt;tr&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;&amp;gt;
&lt;/span&gt;                            &lt;span style="color: rgb(0,0,255)"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: rgb(163,21,21)"&gt;td&lt;/span&gt; &lt;span style="color: rgb(255,0,0)"&gt;style&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;="width:50%"&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: rgb(163,21,21)"&gt;td&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;&amp;gt;
&lt;/span&gt;                            &lt;span style="color: rgb(0,0,255)"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: rgb(163,21,21)"&gt;td&lt;/span&gt; &lt;span style="color: rgb(255,0,0)"&gt;style&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;="text-align:right"&amp;gt;
&lt;/span&gt;                                &lt;span style="color: rgb(0,0,255)"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: rgb(163,21,21)"&gt;img&lt;/span&gt; &lt;span style="color: rgb(255,0,0)"&gt;alt&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;=""&lt;/span&gt; &lt;span style="color: rgb(255,0,0)"&gt;src&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;="indicator-big.gif"&lt;/span&gt; &lt;span style="color: rgb(0,0,255)"&gt;/&amp;gt;
&lt;/span&gt;                            &lt;span style="color: rgb(0,0,255)"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: rgb(163,21,21)"&gt;td&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;&amp;gt;
&lt;/span&gt;                            &lt;span style="color: rgb(0,0,255)"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: rgb(163,21,21)"&gt;td&lt;/span&gt; &lt;span style="color: rgb(255,0,0)"&gt;style&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;="text-align:left;white-space:nowrap"&amp;gt;
&lt;/span&gt;                                &lt;span style="color: rgb(0,0,255)"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: rgb(163,21,21)"&gt;span&lt;/span&gt; &lt;span style="color: rgb(255,0,0)"&gt;style&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;="font-size:larger"&amp;gt;&lt;/span&gt;Loading, Please wait ...&lt;span style="color: rgb(0,0,255)"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: rgb(163,21,21)"&gt;span&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;&amp;gt;
&lt;/span&gt;                            &lt;span style="color: rgb(0,0,255)"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: rgb(163,21,21)"&gt;td&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;&amp;gt;
&lt;/span&gt;                            &lt;span style="color: rgb(0,0,255)"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: rgb(163,21,21)"&gt;td&lt;/span&gt; &lt;span style="color: rgb(255,0,0)"&gt;style&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;="width:50%"&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: rgb(163,21,21)"&gt;td&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;&amp;gt;
&lt;/span&gt;                        &lt;span style="color: rgb(0,0,255)"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: rgb(163,21,21)"&gt;tr&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;&amp;gt;
&lt;/span&gt;                    &lt;span style="color: rgb(0,0,255)"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: rgb(163,21,21)"&gt;tbody&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;&amp;gt;
&lt;/span&gt;                &lt;span style="color: rgb(0,0,255)"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: rgb(163,21,21)"&gt;table&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;&amp;gt;
&lt;/span&gt;            &lt;span style="color: rgb(0,0,255)"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: rgb(163,21,21)"&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,255)"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: rgb(163,21,21)"&gt;asp&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;:&lt;/span&gt;&lt;span style="color: rgb(163,21,21)"&gt;Panel&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;&amp;gt;
&lt;/span&gt;        &lt;span style="color: rgb(0,0,255)"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: rgb(163,21,21)"&gt;ajaxToolKit&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;:&lt;/span&gt;&lt;span style="color: rgb(163,21,21)"&gt;ModalPopupExtender&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;="mpeProgress"&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;TargetControlID&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;="pnlProgress"&lt;/span&gt; &lt;span style="color: rgb(255,0,0)"&gt;PopupControlID&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;="pnlProgress"&lt;/span&gt; &lt;span style="color: rgb(255,0,0)"&gt;BackgroundCssClass&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;="modalBackground"&lt;/span&gt; &lt;span style="color: rgb(255,0,0)"&gt;DropShadow&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;="true"&lt;/span&gt; &lt;span style="color: rgb(0,0,255)"&gt;/&amp;gt;
&lt;/span&gt;    &lt;span style="color: rgb(0,0,255)"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: rgb(163,21,21)"&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,255)"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: rgb(163,21,21)"&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"&amp;gt;

&lt;/span&gt;        Sys.Net.WebRequestManager.add_invokingRequest(onInvoke);
        Sys.Net.WebRequestManager.add_completedRequest(onComplete);

        &lt;span style="color: rgb(0,0,255)"&gt;function&lt;/span&gt; onInvoke(sender, args)
        {
            $find(&lt;span style="color: rgb(163,21,21)"&gt;'&amp;lt;%= mpeProgress.ClientID %&amp;gt;'&lt;/span&gt;).show();
        }

        &lt;span style="color: rgb(0,0,255)"&gt;function&lt;/span&gt; onComplete(sender, args)
        {
            $find(&lt;span style="color: rgb(163,21,21)"&gt;'&amp;lt;%= mpeProgress.ClientID %&amp;gt;'&lt;/span&gt;).hide();
        }

        &lt;span style="color: rgb(0,0,255)"&gt;function&lt;/span&gt; btnDate2_Click()
        {
            PageMethods.GetDate (
                                    &lt;span style="color: rgb(0,0,255)"&gt;function&lt;/span&gt;(result)
                                    {
                                        &lt;span style="color: rgb(0,0,255)"&gt;var&lt;/span&gt; lbl = $get(&lt;span style="color: rgb(163,21,21)"&gt;'&amp;lt;%= lblDate2.ClientID %&amp;gt;'&lt;/span&gt;);

                                        &lt;span style="color: rgb(0,0,255)"&gt;if&lt;/span&gt; (document.all)
                                        {
                                            lbl.innerText = result;
                                        }
                                        &lt;span style="color: rgb(0,0,255)"&gt;else
&lt;/span&gt;                                        {
                                            lbl.textContent = result;
                                        }
                                    }
                                );

            &lt;span style="color: rgb(0,0,255)"&gt;return&lt;/span&gt; &lt;span style="color: rgb(0,0,255)"&gt;false&lt;/span&gt;;
        }

        &lt;span style="color: rgb(0,0,255)"&gt;function&lt;/span&gt; pageUnload()
        {
            Sys.Net.WebRequestManager.remove_invokingRequest(onInvoke);
            Sys.Net.WebRequestManager.remove_completedRequest(onComplete);
        }

    &lt;span style="color: rgb(0,0,255)"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: rgb(163,21,21)"&gt;script&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;&amp;gt;
&amp;lt;/&lt;/span&gt;&lt;span style="color: rgb(163,21,21)"&gt;body&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;&amp;gt;
&amp;lt;/&lt;/span&gt;&lt;span style="color: rgb(163,21,21)"&gt;html&lt;/span&gt;&lt;span style="color: rgb(0,0,255)"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;p&gt;The main trick is hooking the two special events of &lt;font face="Courier New"&gt;Sys.Net.WebRequestManager&lt;/font&gt; class. This class is responsible for managing all kinds of communication with the server, even a manual &lt;font face="Courier New"&gt;invoke&lt;/font&gt; of a &lt;font face="Courier New"&gt;Sys.Net.WebRequest&lt;/font&gt; class will bring this class into action. It fires the &lt;font face="Courier New"&gt;invokingRequest&lt;/font&gt; before making an Ajax call and fires the &lt;font face="Courier New"&gt;completeRequest&lt;/font&gt; once the method completes. We are simply showing/hiding the modal popup extender in these events.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Download&lt;/strong&gt;: &lt;a href="http://www.box.net/shared/zvsmp2pftj" target="_blank"&gt;Full Source&lt;a&gt;&lt;/a&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.dotnetkicks.com/kick/?url=http://geekswithblogs.net/rashid/archive/2007/08/24/Showing-Modal-Progress-Dialog-in-all-Ajax-Operation.aspx" target="_blank"&gt;&lt;img alt="kick it on DotNetKicks.com" src="http://www.dotnetkicks.com/Services/Images/KickItImageGenerator.ashx?url=http://geekswithblogs.net/rashid/archive/2007/08/24/Showing-Modal-Progress-Dialog-in-all-Ajax-Operation.aspx" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=114951"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=114951" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/rashid/aggbug/114951.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Kazi Manzur Rashid</dc:creator>
            <guid>http://geekswithblogs.net/rashid/archive/2007/08/24/Showing-Modal-Progress-Dialog-in-all-Ajax-Operation.aspx</guid>
            <pubDate>Fri, 24 Aug 2007 13:13:57 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/rashid/comments/114951.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/rashid/archive/2007/08/24/Showing-Modal-Progress-Dialog-in-all-Ajax-Operation.aspx#feedback</comments>
            <slash:comments>16</slash:comments>
            <wfw:commentRss>http://geekswithblogs.net/rashid/comments/commentRss/114951.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/rashid/services/trackbacks/114951.aspx</trackback:ping>
        </item>
        <item>
            <title>Loading UserControl Dynamically in UpdatePanel</title>
            <link>http://geekswithblogs.net/rashid/archive/2007/08/11/Loading-UserControl-Dynamically-in-UpdatePanel.aspx</link>
            <description>&lt;p&gt;In this post, I will show you how to load different user control in UpdatePanel from different menu item click. I have found a lot of request in &lt;a target="_blank" href="http://forums.asp.net/default.aspx?GroupID=34"&gt;Asp.net Ajax Forum&lt;/a&gt; and some of them are having misconception about this. Once you complete reading this post you will be able to load controls dynamically and learn how to employ different helper controls like &lt;font face="Courier New"&gt;UpdateProgress&lt;/font&gt;, &lt;font face="Courier New"&gt;ModalPopupExtender&lt;/font&gt; while the &lt;font face="Courier New"&gt;UserControl&lt;/font&gt; is loading. First let us create plain page without the ajax support:&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Markup:&lt;/strong&gt;&lt;/p&gt;
&lt;pre class="code"&gt;&lt;span style="BACKGROUND: rgb(255,238,98)"&gt;&amp;lt;%&lt;span style="COLOR: rgb(0,0,255)"&gt;&lt;/span&gt;@&lt;/span&gt; &lt;span style="COLOR: rgb(163,21,21)"&gt;Page&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;="C#"&lt;/span&gt; &lt;span style="COLOR: rgb(255,0,0)"&gt;AutoEventWireup&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;CodeFile&lt;/span&gt;&lt;span style="COLOR: rgb(0,0,255)"&gt;="PlainSampleMenu.aspx.cs"&lt;/span&gt; &lt;span style="COLOR: rgb(255,0,0)"&gt;Inherits&lt;/span&gt;&lt;span style="COLOR: rgb(0,0,255)"&gt;="PlainSampleMenuPage"&lt;/span&gt; &lt;span style="BACKGROUND: rgb(255,238,98)"&gt;%&amp;gt;
&lt;span style="COLOR: rgb(0,0,255)"&gt;&lt;/span&gt;&amp;lt;!&lt;/span&gt;&lt;span style="COLOR: rgb(163,21,21)"&gt;DOCTYPE&lt;/span&gt; &lt;span style="COLOR: rgb(255,0,0)"&gt;html&lt;/span&gt; &lt;span style="COLOR: rgb(255,0,0)"&gt;PUBLIC&lt;/span&gt; &lt;span style="COLOR: rgb(0,0,255)"&gt;"-//W3C//DTD XHTML 1.0 Transitional//EN"&lt;/span&gt; &lt;span style="COLOR: rgb(0,0,255)"&gt;"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"&amp;gt;
&amp;lt;&lt;/span&gt;&lt;span style="COLOR: rgb(163,21,21)"&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(0,0,255)"&gt;&amp;gt;
&amp;lt;&lt;/span&gt;&lt;span style="COLOR: rgb(163,21,21)"&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"&amp;gt;
&lt;/span&gt;    &lt;span style="COLOR: rgb(0,0,255)"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR: rgb(163,21,21)"&gt;title&lt;/span&gt;&lt;span style="COLOR: rgb(0,0,255)"&gt;&amp;gt;&lt;/span&gt;Plain Sample Menu&lt;span style="COLOR: rgb(0,0,255)"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="COLOR: rgb(163,21,21)"&gt;title&lt;/span&gt;&lt;span style="COLOR: rgb(0,0,255)"&gt;&amp;gt;
&amp;lt;/&lt;/span&gt;&lt;span style="COLOR: rgb(163,21,21)"&gt;head&lt;/span&gt;&lt;span style="COLOR: rgb(0,0,255)"&gt;&amp;gt;
&amp;lt;&lt;/span&gt;&lt;span style="COLOR: rgb(163,21,21)"&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,255)"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR: rgb(163,21,21)"&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"&amp;gt;
&lt;/span&gt;        &lt;span style="COLOR: rgb(0,0,255)"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR: rgb(163,21,21)"&gt;asp&lt;/span&gt;&lt;span style="COLOR: rgb(0,0,255)"&gt;:&lt;/span&gt;&lt;span style="COLOR: rgb(163,21,21)"&gt;Menu&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;="Menu1"&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;OnMenuItemClick&lt;/span&gt;&lt;span style="COLOR: rgb(0,0,255)"&gt;="Menu1_MenuItemClick"&amp;gt;
&lt;/span&gt;            &lt;span style="COLOR: rgb(0,0,255)"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR: rgb(163,21,21)"&gt;Items&lt;/span&gt;&lt;span style="COLOR: rgb(0,0,255)"&gt;&amp;gt;
&lt;/span&gt;                &lt;span style="COLOR: rgb(0,0,255)"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR: rgb(163,21,21)"&gt;asp&lt;/span&gt;&lt;span style="COLOR: rgb(0,0,255)"&gt;:&lt;/span&gt;&lt;span style="COLOR: rgb(163,21,21)"&gt;MenuItem&lt;/span&gt; &lt;span style="COLOR: rgb(255,0,0)"&gt;Text&lt;/span&gt;&lt;span style="COLOR: rgb(0,0,255)"&gt;="File"&amp;gt;
&lt;/span&gt;                    &lt;span style="COLOR: rgb(0,0,255)"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR: rgb(163,21,21)"&gt;asp&lt;/span&gt;&lt;span style="COLOR: rgb(0,0,255)"&gt;:&lt;/span&gt;&lt;span style="COLOR: rgb(163,21,21)"&gt;MenuItem&lt;/span&gt; &lt;span style="COLOR: rgb(255,0,0)"&gt;Text&lt;/span&gt;&lt;span style="COLOR: rgb(0,0,255)"&gt;="Load Control1"&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span style="COLOR: rgb(163,21,21)"&gt;asp&lt;/span&gt;&lt;span style="COLOR: rgb(0,0,255)"&gt;:&lt;/span&gt;&lt;span style="COLOR: rgb(163,21,21)"&gt;MenuItem&lt;/span&gt;&lt;span style="COLOR: rgb(0,0,255)"&gt;&amp;gt;
&lt;/span&gt;                    &lt;span style="COLOR: rgb(0,0,255)"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR: rgb(163,21,21)"&gt;asp&lt;/span&gt;&lt;span style="COLOR: rgb(0,0,255)"&gt;:&lt;/span&gt;&lt;span style="COLOR: rgb(163,21,21)"&gt;MenuItem&lt;/span&gt; &lt;span style="COLOR: rgb(255,0,0)"&gt;Text&lt;/span&gt;&lt;span style="COLOR: rgb(0,0,255)"&gt;="Load Control2"&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span style="COLOR: rgb(163,21,21)"&gt;asp&lt;/span&gt;&lt;span style="COLOR: rgb(0,0,255)"&gt;:&lt;/span&gt;&lt;span style="COLOR: rgb(163,21,21)"&gt;MenuItem&lt;/span&gt;&lt;span style="COLOR: rgb(0,0,255)"&gt;&amp;gt;
&lt;/span&gt;                    &lt;span style="COLOR: rgb(0,0,255)"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR: rgb(163,21,21)"&gt;asp&lt;/span&gt;&lt;span style="COLOR: rgb(0,0,255)"&gt;:&lt;/span&gt;&lt;span style="COLOR: rgb(163,21,21)"&gt;MenuItem&lt;/span&gt; &lt;span style="COLOR: rgb(255,0,0)"&gt;Text&lt;/span&gt;&lt;span style="COLOR: rgb(0,0,255)"&gt;="Load Control3"&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span style="COLOR: rgb(163,21,21)"&gt;asp&lt;/span&gt;&lt;span style="COLOR: rgb(0,0,255)"&gt;:&lt;/span&gt;&lt;span style="COLOR: rgb(163,21,21)"&gt;MenuItem&lt;/span&gt;&lt;span style="COLOR: rgb(0,0,255)"&gt;&amp;gt;
&lt;/span&gt;                &lt;span style="COLOR: rgb(0,0,255)"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="COLOR: rgb(163,21,21)"&gt;asp&lt;/span&gt;&lt;span style="COLOR: rgb(0,0,255)"&gt;:&lt;/span&gt;&lt;span style="COLOR: rgb(163,21,21)"&gt;MenuItem&lt;/span&gt;&lt;span style="COLOR: rgb(0,0,255)"&gt;&amp;gt;
&lt;/span&gt;            &lt;span style="COLOR: rgb(0,0,255)"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="COLOR: rgb(163,21,21)"&gt;Items&lt;/span&gt;&lt;span style="COLOR: rgb(0,0,255)"&gt;&amp;gt;
&lt;/span&gt;        &lt;span style="COLOR: rgb(0,0,255)"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="COLOR: rgb(163,21,21)"&gt;asp&lt;/span&gt;&lt;span style="COLOR: rgb(0,0,255)"&gt;:&lt;/span&gt;&lt;span style="COLOR: rgb(163,21,21)"&gt;Menu&lt;/span&gt;&lt;span style="COLOR: rgb(0,0,255)"&gt;&amp;gt;
&lt;/span&gt;        &lt;span style="COLOR: rgb(0,0,255)"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR: rgb(163,21,21)"&gt;br&lt;/span&gt; &lt;span style="COLOR: rgb(0,0,255)"&gt;/&amp;gt;
&lt;/span&gt;        &lt;span style="COLOR: rgb(0,0,255)"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR: rgb(163,21,21)"&gt;br&lt;/span&gt; &lt;span style="COLOR: rgb(0,0,255)"&gt;/&amp;gt;
&lt;/span&gt;        &lt;span style="COLOR: rgb(0,0,255)"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR: rgb(163,21,21)"&gt;asp&lt;/span&gt;&lt;span style="COLOR: rgb(0,0,255)"&gt;:&lt;/span&gt;&lt;span style="COLOR: rgb(163,21,21)"&gt;PlaceHolder&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;="PlaceHolder1"&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"&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span style="COLOR: rgb(163,21,21)"&gt;asp&lt;/span&gt;&lt;span style="COLOR: rgb(0,0,255)"&gt;:&lt;/span&gt;&lt;span style="COLOR: rgb(163,21,21)"&gt;PlaceHolder&lt;/span&gt;&lt;span style="COLOR: rgb(0,0,255)"&gt;&amp;gt;
&lt;/span&gt;    &lt;span style="COLOR: rgb(0,0,255)"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="COLOR: rgb(163,21,21)"&gt;form&lt;/span&gt;&lt;span style="COLOR: rgb(0,0,255)"&gt;&amp;gt;
&amp;lt;/&lt;/span&gt;&lt;span style="COLOR: rgb(163,21,21)"&gt;body&lt;/span&gt;&lt;span style="COLOR: rgb(0,0,255)"&gt;&amp;gt;
&amp;lt;/&lt;/span&gt;&lt;span style="COLOR: rgb(163,21,21)"&gt;html&lt;/span&gt;&lt;span style="COLOR: rgb(0,0,255)"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;p&gt;&lt;strong&gt;Code Behind:&lt;/strong&gt;&lt;/p&gt;
&lt;pre class="code"&gt;&lt;span style="COLOR: rgb(0,0,255)"&gt;using&lt;/span&gt; System;
&lt;span style="COLOR: rgb(0,0,255)"&gt;using&lt;/span&gt; System.Web;
&lt;span style="COLOR: rgb(0,0,255)"&gt;using&lt;/span&gt; System.Web.UI;
&lt;span style="COLOR: rgb(0,0,255)"&gt;using&lt;/span&gt; System.Web.UI.WebControls;

&lt;span style="COLOR: rgb(0,0,255)"&gt;public&lt;/span&gt; &lt;span style="COLOR: rgb(0,0,255)"&gt;partial&lt;/span&gt; &lt;span style="COLOR: rgb(0,0,255)"&gt;class&lt;/span&gt; &lt;span style="COLOR: rgb(43,145,175)"&gt;PlainSampleMenuPage&lt;/span&gt; : System.Web.UI.&lt;span style="COLOR: rgb(43,145,175)"&gt;Page
&lt;/span&gt;{
    &lt;span style="COLOR: rgb(0,0,255)"&gt;private&lt;/span&gt; &lt;span style="COLOR: rgb(0,0,255)"&gt;const&lt;/span&gt; &lt;span style="COLOR: rgb(0,0,255)"&gt;string&lt;/span&gt; BASE_PATH = &lt;span style="COLOR: rgb(163,21,21)"&gt;"~/DynamicControlLoading/"&lt;/span&gt;;

    &lt;span style="COLOR: rgb(0,0,255)"&gt;private&lt;/span&gt; &lt;span style="COLOR: rgb(0,0,255)"&gt;string&lt;/span&gt; LastLoadedControl
    {
        &lt;span style="COLOR: rgb(0,0,255)"&gt;get
&lt;/span&gt;        {
            &lt;span style="COLOR: rgb(0,0,255)"&gt;return&lt;/span&gt; ViewState[&lt;span style="COLOR: rgb(163,21,21)"&gt;"LastLoaded"&lt;/span&gt;] &lt;span style="COLOR: rgb(0,0,255)"&gt;as&lt;/span&gt; &lt;span style="COLOR: rgb(0,0,255)"&gt;string&lt;/span&gt;;
        }
        &lt;span style="COLOR: rgb(0,0,255)"&gt;set
&lt;/span&gt;        {
            ViewState[&lt;span style="COLOR: rgb(163,21,21)"&gt;"LastLoaded"&lt;/span&gt;] = &lt;span style="COLOR: rgb(0,0,255)"&gt;value&lt;/span&gt;;
        }
    }

    &lt;span style="COLOR: rgb(0,0,255)"&gt;private&lt;/span&gt; &lt;span style="COLOR: rgb(0,0,255)"&gt;void&lt;/span&gt; LoadUserControl()
    {
        &lt;span style="COLOR: rgb(0,0,255)"&gt;string&lt;/span&gt; controlPath = LastLoadedControl;

        &lt;span style="COLOR: rgb(0,0,255)"&gt;if&lt;/span&gt; (!&lt;span style="COLOR: rgb(0,0,255)"&gt;string&lt;/span&gt;.IsNullOrEmpty(controlPath))
        {
            PlaceHolder1.Controls.Clear();
            &lt;span style="COLOR: rgb(43,145,175)"&gt;UserControl&lt;/span&gt; uc = (&lt;span style="COLOR: rgb(43,145,175)"&gt;UserControl&lt;/span&gt;)LoadControl(controlPath);
            PlaceHolder1.Controls.Add(uc);
        }
    }

    &lt;span style="COLOR: rgb(0,0,255)"&gt;protected&lt;/span&gt; &lt;span style="COLOR: rgb(0,0,255)"&gt;void&lt;/span&gt; Page_Load(&lt;span style="COLOR: rgb(0,0,255)"&gt;object&lt;/span&gt; sender, &lt;span style="COLOR: rgb(43,145,175)"&gt;EventArgs&lt;/span&gt; e)
    {
        LoadUserControl();
    }

    &lt;span style="COLOR: rgb(0,0,255)"&gt;protected&lt;/span&gt; &lt;span style="COLOR: rgb(0,0,255)"&gt;void&lt;/span&gt; Menu1_MenuItemClick(&lt;span style="COLOR: rgb(0,0,255)"&gt;object&lt;/span&gt; sender, &lt;span style="COLOR: rgb(43,145,175)"&gt;MenuEventArgs&lt;/span&gt; e)
    {
        &lt;span style="COLOR: rgb(43,145,175)"&gt;MenuItem&lt;/span&gt; menu = e.Item;

        &lt;span style="COLOR: rgb(0,0,255)"&gt;string&lt;/span&gt; controlPath = &lt;span style="COLOR: rgb(0,0,255)"&gt;string&lt;/span&gt;.Empty;

        &lt;span style="COLOR: rgb(0,0,255)"&gt;switch&lt;/span&gt; (menu.Text)
        {
            &lt;span style="COLOR: rgb(0,0,255)"&gt;case&lt;/span&gt; &lt;span style="COLOR: rgb(163,21,21)"&gt;"Load Control2"&lt;/span&gt;:
                controlPath = BASE_PATH + &lt;span style="COLOR: rgb(163,21,21)"&gt;"SampleControl2.ascx"&lt;/span&gt;;
                &lt;span style="COLOR: rgb(0,0,255)"&gt;break&lt;/span&gt;;
            &lt;span style="COLOR: rgb(0,0,255)"&gt;case&lt;/span&gt; &lt;span style="COLOR: rgb(163,21,21)"&gt;"Load Control3"&lt;/span&gt;:
                controlPath = BASE_PATH + &lt;span style="COLOR: rgb(163,21,21)"&gt;"SampleControl3.ascx"&lt;/span&gt;;
                &lt;span style="COLOR: rgb(0,0,255)"&gt;break&lt;/span&gt;;
            &lt;span style="COLOR: rgb(0,0,255)"&gt;default&lt;/span&gt;:
                controlPath = BASE_PATH + &lt;span style="COLOR: rgb(163,21,21)"&gt;"SampleControl1.ascx"&lt;/span&gt;;
                &lt;span style="COLOR: rgb(0,0,255)"&gt;break&lt;/span&gt;;
        }

        LastLoadedControl = controlPath;
        LoadUserControl();
    }
}
&lt;/pre&gt;
&lt;p&gt;As you can see we are loading the UserControls in the PlaceHolder Control on different menu item click. If you are wondering why I am also loading the controls in &lt;font face="Courier New"&gt;Page&lt;/font&gt; &lt;font face="Courier New"&gt;Load&lt;/font&gt; event based upon the &lt;font face="Courier New"&gt;ViewState&lt;/font&gt;, the reason is otherwise those dynamically loaded controls will not be visible in the consequent postbacks. There are few good articles written by &lt;a target="_blank" href="http://www.scottonwriting.net/sowBlog/"&gt;Scott Mitchell&lt;/a&gt; on dynamically loading Controls which you will find in the following links:&lt;/p&gt;
&lt;ul&gt;
    &lt;li&gt;&lt;a target="_blank" href="http://aspnet.4guysfromrolla.com/articles/081402-1.aspx"&gt;Dynamic Controls in ASP.NET&lt;/a&gt; &lt;/li&gt;
    &lt;li&gt;&lt;a target="_blank" href="http://aspnet.4guysfromrolla.com/articles/082102-1.aspx"&gt;Working with Dynamically Created Controls&lt;/a&gt; &lt;/li&gt;
    &lt;li&gt;&lt;a target="_blank" href="http://aspnet.4guysfromrolla.com/articles/092904-1.aspx"&gt;Dynamic Web Controls, Postbacks, and View State&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Now let us ajaxify this page, lets wrap the &lt;font face="Courier New"&gt;PlaceHolder&lt;/font&gt; with an &lt;font face="Courier New"&gt;UpdatePanel&lt;/font&gt; control. The following shows the markup:&lt;/p&gt;
&lt;pre class="code"&gt;&lt;span style="BACKGROUND: rgb(255,238,98)"&gt;&amp;lt;%&lt;span style="COLOR: rgb(0,0,255)"&gt;&lt;/span&gt;@&lt;/span&gt; &lt;span style="COLOR: rgb(163,21,21)"&gt;Page&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;="C#"&lt;/span&gt; &lt;span style="COLOR: rgb(255,0,0)"&gt;AutoEventWireup&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;CodeFile&lt;/span&gt;&lt;span style="COLOR: rgb(0,0,255)"&gt;="SampleMenu1.aspx.cs"&lt;/span&gt; &lt;span style="COLOR: rgb(255,0,0)"&gt;Inherits&lt;/span&gt;&lt;span style="COLOR: rgb(0,0,255)"&gt;="SampleMenuPage1"&lt;/span&gt; &lt;span style="BACKGROUND: rgb(255,238,98)"&gt;%&amp;gt;
&lt;span style="COLOR: rgb(0,0,255)"&gt;&lt;/span&gt;&amp;lt;!&lt;/span&gt;&lt;span style="COLOR: rgb(163,21,21)"&gt;DOCTYPE&lt;/span&gt; &lt;span style="COLOR: rgb(255,0,0)"&gt;html&lt;/span&gt; &lt;span style="COLOR: rgb(255,0,0)"&gt;PUBLIC&lt;/span&gt; &lt;span style="COLOR: rgb(0,0,255)"&gt;"-//W3C//DTD XHTML 1.0 Transitional//EN"&lt;/span&gt; &lt;span style="COLOR: rgb(0,0,255)"&gt;"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"&amp;gt;
&amp;lt;&lt;/span&gt;&lt;span style="COLOR: rgb(163,21,21)"&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(0,0,255)"&gt;&amp;gt;
&amp;lt;&lt;/span&gt;&lt;span style="COLOR: rgb(163,21,21)"&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"&amp;gt;
&lt;/span&gt;    &lt;span style="COLOR: rgb(0,0,255)"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR: rgb(163,21,21)"&gt;title&lt;/span&gt;&lt;span style="COLOR: rgb(0,0,255)"&gt;&amp;gt;&lt;/span&gt;Sample Menu&lt;span style="COLOR: rgb(0,0,255)"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="COLOR: rgb(163,21,21)"&gt;title&lt;/span&gt;&lt;span style="COLOR: rgb(0,0,255)"&gt;&amp;gt;
&amp;lt;/&lt;/span&gt;&lt;span style="COLOR: rgb(163,21,21)"&gt;head&lt;/span&gt;&lt;span style="COLOR: rgb(0,0,255)"&gt;&amp;gt;
&amp;lt;&lt;/span&gt;&lt;span style="COLOR: rgb(163,21,21)"&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,255)"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR: rgb(163,21,21)"&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"&amp;gt;
&lt;/span&gt;        &lt;span style="COLOR: rgb(0,0,255)"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR: rgb(163,21,21)"&gt;asp&lt;/span&gt;&lt;span style="COLOR: rgb(0,0,255)"&gt;:&lt;/span&gt;&lt;span style="COLOR: rgb(163,21,21)"&gt;Menu&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;="Menu1"&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;OnMenuItemClick&lt;/span&gt;&lt;span style="COLOR: rgb(0,0,255)"&gt;="Menu1_MenuItemClick"&amp;gt;
&lt;/span&gt;            &lt;span style="COLOR: rgb(0,0,255)"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR: rgb(163,21,21)"&gt;Items&lt;/span&gt;&lt;span style="COLOR: rgb(0,0,255)"&gt;&amp;gt;
&lt;/span&gt;                &lt;span style="COLOR: rgb(0,0,255)"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR: rgb(163,21,21)"&gt;asp&lt;/span&gt;&lt;span style="COLOR: rgb(0,0,255)"&gt;:&lt;/span&gt;&lt;span style="COLOR: rgb(163,21,21)"&gt;MenuItem&lt;/span&gt; &lt;span style="COLOR: rgb(255,0,0)"&gt;Text&lt;/span&gt;&lt;span style="COLOR: rgb(0,0,255)"&gt;="File"&amp;gt;
&lt;/span&gt;                    &lt;span style="COLOR: rgb(0,0,255)"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR: rgb(163,21,21)"&gt;asp&lt;/span&gt;&lt;span style="COLOR: rgb(0,0,255)"&gt;:&lt;/span&gt;&lt;span style="COLOR: rgb(163,21,21)"&gt;MenuItem&lt;/span&gt; &lt;span style="COLOR: rgb(255,0,0)"&gt;Text&lt;/span&gt;&lt;span style="COLOR: rgb(0,0,255)"&gt;="Load Control1"&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span style="COLOR: rgb(163,21,21)"&gt;asp&lt;/span&gt;&lt;span style="COLOR: rgb(0,0,255)"&gt;:&lt;/span&gt;&lt;span style="COLOR: rgb(163,21,21)"&gt;MenuItem&lt;/span&gt;&lt;span style="COLOR: rgb(0,0,255)"&gt;&amp;gt;
&lt;/span&gt;                    &lt;span style="COLOR: rgb(0,0,255)"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR: rgb(163,21,21)"&gt;asp&lt;/span&gt;&lt;span style="COLOR: rgb(0,0,255)"&gt;:&lt;/span&gt;&lt;span style="COLOR: rgb(163,21,21)"&gt;MenuItem&lt;/span&gt; &lt;span style="COLOR: rgb(255,0,0)"&gt;Text&lt;/span&gt;&lt;span style="COLOR: rgb(0,0,255)"&gt;="Load Control2"&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span style="COLOR: rgb(163,21,21)"&gt;asp&lt;/span&gt;&lt;span style="COLOR: rgb(0,0,255)"&gt;:&lt;/span&gt;&lt;span style="COLOR: rgb(163,21,21)"&gt;MenuItem&lt;/span&gt;&lt;span style="COLOR: rgb(0,0,255)"&gt;&amp;gt;
&lt;/span&gt;                    &lt;span style="COLOR: rgb(0,0,255)"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR: rgb(163,21,21)"&gt;asp&lt;/span&gt;&lt;span style="COLOR: rgb(0,0,255)"&gt;:&lt;/span&gt;&lt;span style="COLOR: rgb(163,21,21)"&gt;MenuItem&lt;/span&gt; &lt;span style="COLOR: rgb(255,0,0)"&gt;Text&lt;/span&gt;&lt;span style="COLOR: rgb(0,0,255)"&gt;="Load Control3"&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span style="COLOR: rgb(163,21,21)"&gt;asp&lt;/span&gt;&lt;span style="COLOR: rgb(0,0,255)"&gt;:&lt;/span&gt;&lt;span style="COLOR: rgb(163,21,21)"&gt;MenuItem&lt;/span&gt;&lt;span style="COLOR: rgb(0,0,255)"&gt;&amp;gt;
&lt;/span&gt;                &lt;span style="COLOR: rgb(0,0,255)"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="COLOR: rgb(163,21,21)"&gt;asp&lt;/span&gt;&lt;span style="COLOR: rgb(0,0,255)"&gt;:&lt;/span&gt;&lt;span style="COLOR: rgb(163,21,21)"&gt;MenuItem&lt;/span&gt;&lt;span style="COLOR: rgb(0,0,255)"&gt;&amp;gt;
&lt;/span&gt;            &lt;span style="COLOR: rgb(0,0,255)"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="COLOR: rgb(163,21,21)"&gt;Items&lt;/span&gt;&lt;span style="COLOR: rgb(0,0,255)"&gt;&amp;gt;
&lt;/span&gt;        &lt;span style="COLOR: rgb(0,0,255)"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="COLOR: rgb(163,21,21)"&gt;asp&lt;/span&gt;&lt;span style="COLOR: rgb(0,0,255)"&gt;:&lt;/span&gt;&lt;span style="COLOR: rgb(163,21,21)"&gt;Menu&lt;/span&gt;&lt;span style="COLOR: rgb(0,0,255)"&gt;&amp;gt;
&lt;/span&gt;        &lt;span style="COLOR: rgb(0,0,255)"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR: rgb(163,21,21)"&gt;br&lt;/span&gt; &lt;span style="COLOR: rgb(0,0,255)"&gt;/&amp;gt;
&lt;/span&gt;        &lt;span style="COLOR: rgb(0,0,255)"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR: rgb(163,21,21)"&gt;br&lt;/span&gt; &lt;span style="COLOR: rgb(0,0,255)"&gt;/&amp;gt;
&lt;/span&gt;        &lt;span style="COLOR: rgb(0,0,255)"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR: rgb(163,21,21)"&gt;asp&lt;/span&gt;&lt;span style="COLOR: rgb(0,0,255)"&gt;:&lt;/span&gt;&lt;span style="COLOR: rgb(163,21,21)"&gt;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;runat&lt;/span&gt;&lt;span style="COLOR: rgb(0,0,255)"&gt;="server"&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span style="COLOR: rgb(163,21,21)"&gt;asp&lt;/span&gt;&lt;span style="COLOR: rgb(0,0,255)"&gt;:&lt;/span&gt;&lt;span style="COLOR: rgb(163,21,21)"&gt;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,255)"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR: rgb(163,21,21)"&gt;asp&lt;/span&gt;&lt;span style="COLOR: rgb(0,0,255)"&gt;:&lt;/span&gt;&lt;span style="COLOR: rgb(163,21,21)"&gt;UpdatePanel&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;="UpdatePanel1"&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;UpdateMode&lt;/span&gt;&lt;span style="COLOR: rgb(0,0,255)"&gt;="Conditional"&amp;gt;
&lt;/span&gt;            &lt;span style="COLOR: rgb(0,0,255)"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR: rgb(163,21,21)"&gt;ContentTemplate&lt;/span&gt;&lt;span style="COLOR: rgb(0,0,255)"&gt;&amp;gt;
&lt;/span&gt;                &lt;span style="COLOR: rgb(0,0,255)"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR: rgb(163,21,21)"&gt;asp&lt;/span&gt;&lt;span style="COLOR: rgb(0,0,255)"&gt;:&lt;/span&gt;&lt;span style="COLOR: rgb(163,21,21)"&gt;PlaceHolder&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;="PlaceHolder1"&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"&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span style="COLOR: rgb(163,21,21)"&gt;asp&lt;/span&gt;&lt;span style="COLOR: rgb(0,0,255)"&gt;:&lt;/span&gt;&lt;span style="COLOR: rgb(163,21,21)"&gt;PlaceHolder&lt;/span&gt;&lt;span style="COLOR: rgb(0,0,255)"&gt;&amp;gt;
&lt;/span&gt;            &lt;span style="COLOR: rgb(0,0,255)"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="COLOR: rgb(163,21,21)"&gt;ContentTemplate&lt;/span&gt;&lt;span style="COLOR: rgb(0,0,255)"&gt;&amp;gt;
&lt;/span&gt;            &lt;span style="COLOR: rgb(0,0,255)"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR: rgb(163,21,21)"&gt;Triggers&lt;/span&gt;&lt;span style="COLOR: rgb(0,0,255)"&gt;&amp;gt;
&lt;/span&gt;                &lt;span style="COLOR: rgb(0,0,255)"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR: rgb(163,21,21)"&gt;asp&lt;/span&gt;&lt;span style="COLOR: rgb(0,0,255)"&gt;:&lt;/span&gt;&lt;span style="COLOR: rgb(163,21,21)"&gt;AsyncPostBackTrigger&lt;/span&gt; &lt;span style="COLOR: rgb(255,0,0)"&gt;ControlID&lt;/span&gt;&lt;span style="COLOR: rgb(0,0,255)"&gt;="Menu1"&lt;/span&gt; &lt;span style="COLOR: rgb(0,0,255)"&gt;/&amp;gt;
&lt;/span&gt;            &lt;span style="COLOR: rgb(0,0,255)"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="COLOR: rgb(163,21,21)"&gt;Triggers&lt;/span&gt;&lt;span style="COLOR: rgb(0,0,255)"&gt;&amp;gt;
&lt;/span&gt;        &lt;span style="COLOR: rgb(0,0,255)"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="COLOR: rgb(163,21,21)"&gt;asp&lt;/span&gt;&lt;span style="COLOR: rgb(0,0,255)"&gt;:&lt;/span&gt;&lt;span style="COLOR: rgb(163,21,21)"&gt;UpdatePanel&lt;/span&gt;&lt;span style="COLOR: rgb(0,0,255)"&gt;&amp;gt;
&lt;/span&gt;    &lt;span style="COLOR: rgb(0,0,255)"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="COLOR: rgb(163,21,21)"&gt;form&lt;/span&gt;&lt;span style="COLOR: rgb(0,0,255)"&gt;&amp;gt;
&amp;lt;/&lt;/span&gt;&lt;span style="COLOR: rgb(163,21,21)"&gt;body&lt;/span&gt;&lt;span style="COLOR: rgb(0,0,255)"&gt;&amp;gt;
&amp;lt;/&lt;/span&gt;&lt;span style="COLOR: rgb(163,21,21)"&gt;html&lt;/span&gt;&lt;span style="COLOR: rgb(0,0,255)"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;p&gt;Since the &lt;font face="Courier New"&gt;Menu&lt;/font&gt; control resides outside the &lt;font face="Courier New"&gt;UpdatePanel&lt;/font&gt; we will also need a &lt;font face="Courier New"&gt;AsyncPostBackTrigger&lt;/font&gt; for the &lt;font face="Courier New"&gt;Menu&lt;/font&gt; Control. Now run this page, you will find the controls are loaded without a full postback.&lt;/p&gt;
&lt;p&gt;Now let us further enhance this page with &lt;font face="Courier New"&gt;UpdateProgress&lt;/font&gt; and AjaxControlToolKit's &lt;font face="Courier New"&gt;ModalPopupExtender&lt;/font&gt;. First with the &lt;font face="Courier New"&gt;UpdateProgress&lt;/font&gt; Control.&lt;/p&gt;
&lt;pre class="code"&gt;&lt;span style="BACKGROUND: rgb(255,238,98)"&gt;&amp;lt;%&lt;span style="COLOR: rgb(0,0,255)"&gt;&lt;/span&gt;@&lt;/span&gt; &lt;span style="COLOR: rgb(163,21,21)"&gt;Page&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;="C#"&lt;/span&gt; &lt;span style="COLOR: rgb(255,0,0)"&gt;AutoEventWireup&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;CodeFile&lt;/span&gt;&lt;span style="COLOR: rgb(0,0,255)"&gt;="SampleMenu1.aspx.cs"&lt;/span&gt; &lt;span style="COLOR: rgb(255,0,0)"&gt;Inherits&lt;/span&gt;&lt;span style="COLOR: rgb(0,0,255)"&gt;="SampleMenuPage1"&lt;/span&gt; &lt;span style="BACKGROUND: rgb(255,238,98)"&gt;%&amp;gt;
&lt;span style="COLOR: rgb(0,0,255)"&gt;&lt;/span&gt;&amp;lt;!&lt;/span&gt;&lt;span style="COLOR: rgb(163,21,21)"&gt;DOCTYPE&lt;/span&gt; &lt;span style="COLOR: rgb(255,0,0)"&gt;html&lt;/span&gt; &lt;span style="COLOR: rgb(255,0,0)"&gt;PUBLIC&lt;/span&gt; &lt;span style="COLOR: rgb(0,0,255)"&gt;"-//W3C//DTD XHTML 1.0 Transitional//EN"&lt;/span&gt; &lt;span style="COLOR: rgb(0,0,255)"&gt;"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"&amp;gt;
&amp;lt;&lt;/span&gt;&lt;span style="COLOR: rgb(163,21,21)"&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(0,0,255)"&gt;&amp;gt;
&amp;lt;&lt;/span&gt;&lt;span style="COLOR: rgb(163,21,21)"&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"&amp;gt;
&lt;/span&gt;    &lt;span style="COLOR: rgb(0,0,255)"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR: rgb(163,21,21)"&gt;title&lt;/span&gt;&lt;span style="COLOR: rgb(0,0,255)"&gt;&amp;gt;&lt;/span&gt;Sample Menu - UpdateProgress&lt;span style="COLOR: rgb(0,0,255)"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="COLOR: rgb(163,21,21)"&gt;title&lt;/span&gt;&lt;span style="COLOR: rgb(0,0,255)"&gt;&amp;gt;
&amp;lt;/&lt;/span&gt;&lt;span style="COLOR: rgb(163,21,21)"&gt;head&lt;/span&gt;&lt;span style="COLOR: rgb(0,0,255)"&gt;&amp;gt;
&amp;lt;&lt;/span&gt;&lt;span style="COLOR: rgb(163,21,21)"&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,255)"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR: rgb(163,21,21)"&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"&amp;gt;
&lt;/span&gt;        &lt;span style="COLOR: rgb(0,0,255)"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR: rgb(163,21,21)"&gt;asp&lt;/span&gt;&lt;span style="COLOR: rgb(0,0,255)"&gt;:&lt;/span&gt;&lt;span style="COLOR: rgb(163,21,21)"&gt;Menu&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;="Menu1"&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;OnMenuItemClick&lt;/span&gt;&lt;span style="COLOR: rgb(0,0,255)"&gt;="Menu1_MenuItemClick"&amp;gt;
&lt;/span&gt;            &lt;span style="COLOR: rgb(0,0,255)"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR: rgb(163,21,21)"&gt;Items&lt;/span&gt;&lt;span style="COLOR: rgb(0,0,255)"&gt;&amp;gt;
&lt;/span&gt;                &lt;span style="COLOR: rgb(0,0,255)"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR: rgb(163,21,21)"&gt;asp&lt;/span&gt;&lt;span style="COLOR: rgb(0,0,255)"&gt;:&lt;/span&gt;&lt;span style="COLOR: rgb(163,21,21)"&gt;MenuItem&lt;/span&gt; &lt;span style="COLOR: rgb(255,0,0)"&gt;Text&lt;/span&gt;&lt;span style="COLOR: rgb(0,0,255)"&gt;="File"&amp;gt;
&lt;/span&gt;                    &lt;span style="COLOR: rgb(0,0,255)"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR: rgb(163,21,21)"&gt;asp&lt;/span&gt;&lt;span style="COLOR: rgb(0,0,255)"&gt;:&lt;/span&gt;&lt;span style="COLOR: rgb(163,21,21)"&gt;MenuItem&lt;/span&gt; &lt;span style="COLOR: rgb(255,0,0)"&gt;Text&lt;/span&gt;&lt;span style="COLOR: rgb(0,0,255)"&gt;="Load Control1"&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span style="COLOR: rgb(163,21,21)"&gt;asp&lt;/span&gt;&lt;span style="COLOR: rgb(0,0,255)"&gt;:&lt;/span&gt;&lt;span style="COLOR: rgb(163,21,21)"&gt;MenuItem&lt;/span&gt;&lt;span style="COLOR: rgb(0,0,255)"&gt;&amp;gt;
&lt;/span&gt;                    &lt;span style="COLOR: rgb(0,0,255)"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR: rgb(163,21,21)"&gt;asp&lt;/span&gt;&lt;span style="COLOR: rgb(0,0,255)"&gt;:&lt;/span&gt;&lt;span style="COLOR: rgb(163,21,21)"&gt;MenuItem&lt;/span&gt; &lt;span style="COLOR: rgb(255,0,0)"&gt;Text&lt;/span&gt;&lt;span style="COLOR: rgb(0,0,255)"&gt;="Load Control2"&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span style="COLOR: rgb(163,21,21)"&gt;asp&lt;/span&gt;&lt;span style="COLOR: rgb(0,0,255)"&gt;:&lt;/span&gt;&lt;span style="COLOR: rgb(163,21,21)"&gt;MenuItem&lt;/span&gt;&lt;span style="COLOR: rgb(0,0,255)"&gt;&amp;gt;
&lt;/span&gt;                    &lt;span style="COLOR: rgb(0,0,255)"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR: rgb(163,21,21)"&gt;asp&lt;/span&gt;&lt;span style="COLOR: rgb(0,0,255)"&gt;:&lt;/span&gt;&lt;span style="COLOR: rgb(163,21,21)"&gt;MenuItem&lt;/span&gt; &lt;span style="COLOR: rgb(255,0,0)"&gt;Text&lt;/span&gt;&lt;span style="COLOR: rgb(0,0,255)"&gt;="Load Control3"&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span style="COLOR: rgb(163,21,21)"&gt;asp&lt;/span&gt;&lt;span style="COLOR: rgb(0,0,255)"&gt;:&lt;/span&gt;&lt;span style="COLOR: rgb(163,21,21)"&gt;MenuItem&lt;/span&gt;&lt;span style="COLOR: rgb(0,0,255)"&gt;&amp;gt;
&lt;/span&gt;                &lt;span style="COLOR: rgb(0,0,255)"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="COLOR: rgb(163,21,21)"&gt;asp&lt;/span&gt;&lt;span style="COLOR: rgb(0,0,255)"&gt;:&lt;/span&gt;&lt;span style="COLOR: rgb(163,21,21)"&gt;MenuItem&lt;/span&gt;&lt;span style="COLOR: rgb(0,0,255)"&gt;&amp;gt;
&lt;/span&gt;            &lt;span style="COLOR: rgb(0,0,255)"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="COLOR: rgb(163,21,21)"&gt;Items&lt;/span&gt;&lt;span style="COLOR: rgb(0,0,255)"&gt;&amp;gt;
&lt;/span&gt;        &lt;span style="COLOR: rgb(0,0,255)"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="COLOR: rgb(163,21,21)"&gt;asp&lt;/span&gt;&lt;span style="COLOR: rgb(0,0,255)"&gt;:&lt;/span&gt;&lt;span style="COLOR: rgb(163,21,21)"&gt;Menu&lt;/span&gt;&lt;span style="COLOR: rgb(0,0,255)"&gt;&amp;gt;
&lt;/span&gt;        &lt;span style="COLOR: rgb(0,0,255)"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR: rgb(163,21,21)"&gt;br&lt;/span&gt; &lt;span style="COLOR: rgb(0,0,255)"&gt;/&amp;gt;
&lt;/span&gt;        &lt;span style="COLOR: rgb(0,0,255)"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR: rgb(163,21,21)"&gt;br&lt;/span&gt; &lt;span style="COLOR: rgb(0,0,255)"&gt;/&amp;gt;
&lt;/span&gt;        &lt;span style="COLOR: rgb(0,0,255)"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR: rgb(163,21,21)"&gt;asp&lt;/span&gt;&lt;span style="COLOR: rgb(0,0,255)"&gt;:&lt;/span&gt;&lt;span style="COLOR: rgb(163,21,21)"&gt;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;runat&lt;/span&gt;&lt;span style="COLOR: rgb(0,0,255)"&gt;="server"&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span style="COLOR: rgb(163,21,21)"&gt;asp&lt;/span&gt;&lt;span style="COLOR: rgb(0,0,255)"&gt;:&lt;/span&gt;&lt;span style="COLOR: rgb(163,21,21)"&gt;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,255)"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR: rgb(163,21,21)"&gt;asp&lt;/span&gt;&lt;span style="COLOR: rgb(0,0,255)"&gt;:&lt;/span&gt;&lt;span style="COLOR: rgb(163,21,21)"&gt;UpdatePanel&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;="UpdatePanel1"&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;UpdateMode&lt;/span&gt;&lt;span style="COLOR: rgb(0,0,255)"&gt;="Conditional"&amp;gt;
&lt;/span&gt;            &lt;span style="COLOR: rgb(0,0,255)"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR: rgb(163,21,21)"&gt;ContentTemplate&lt;/span&gt;&lt;span style="COLOR: rgb(0,0,255)"&gt;&amp;gt;
&lt;/span&gt;                &lt;span style="COLOR: rgb(0,0,255)"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR: rgb(163,21,21)"&gt;asp&lt;/span&gt;&lt;span style="COLOR: rgb(0,0,255)"&gt;:&lt;/span&gt;&lt;span style="COLOR: rgb(163,21,21)"&gt;UpdateProgress&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;="UpdateProgress1"&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;AssociatedUpdatePanelID&lt;/span&gt;&lt;span style="COLOR: rgb(0,0,255)"&gt;="UpdatePanel1"&amp;gt;
&lt;/span&gt;                    &lt;span style="COLOR: rgb(0,0,255)"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR: rgb(163,21,21)"&gt;ProgressTemplate&lt;/span&gt;&lt;span style="COLOR: rgb(0,0,255)"&gt;&amp;gt;
&lt;/span&gt;                        Loading....
                    &lt;span style="COLOR: rgb(0,0,255)"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="COLOR: rgb(163,21,21)"&gt;ProgressTemplate&lt;/span&gt;&lt;span style="COLOR: rgb(0,0,255)"&gt;&amp;gt;
&lt;/span&gt;                &lt;span style="COLOR: rgb(0,0,255)"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="COLOR: rgb(163,21,21)"&gt;asp&lt;/span&gt;&lt;span style="COLOR: rgb(0,0,255)"&gt;:&lt;/span&gt;&lt;span style="COLOR: rgb(163,21,21)"&gt;UpdateProgress&lt;/span&gt;&lt;span style="COLOR: rgb(0,0,255)"&gt;&amp;gt;
&lt;/span&gt;                &lt;span style="COLOR: rgb(0,0,255)"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR: rgb(163,21,21)"&gt;asp&lt;/span&gt;&lt;span style="COLOR: rgb(0,0,255)"&gt;:&lt;/span&gt;&lt;span style="COLOR: rgb(163,21,21)"&gt;PlaceHolder&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;="PlaceHolder1"&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"&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span style="COLOR: rgb(163,21,21)"&gt;asp&lt;/span&gt;&lt;span style="COLOR: rgb(0,0,255)"&gt;:&lt;/span&gt;&lt;span style="COLOR: rgb(163,21,21)"&gt;PlaceHolder&lt;/span&gt;&lt;span style="COLOR: rgb(0,0,255)"&gt;&amp;gt;
&lt;/span&gt;            &lt;span style="COLOR: rgb(0,0,255)"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="COLOR: rgb(163,21,21)"&gt;ContentTemplate&lt;/span&gt;&lt;span style="COLOR: rgb(0,0,255)"&gt;&amp;gt;
&lt;/span&gt;            &lt;span style="COLOR: rgb(0,0,255)"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR: rgb(163,21,21)"&gt;Triggers&lt;/span&gt;&lt;span style="COLOR: rgb(0,0,255)"&gt;&amp;gt;
&lt;/span&gt;                &lt;span style="COLOR: rgb(0,0,255)"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR: rgb(163,21,21)"&gt;asp&lt;/span&gt;&lt;span style="COLOR: rgb(0,0,255)"&gt;:&lt;/span&gt;&lt;span style="COLOR: rgb(163,21,21)"&gt;AsyncPostBackTrigger&lt;/span&gt; &lt;span style="COLOR: rgb(255,0,0)"&gt;ControlID&lt;/span&gt;&lt;span style="COLOR: rgb(0,0,255)"&gt;="Menu1"&lt;/span&gt; &lt;span style="COLOR: rgb(0,0,255)"&gt;/&amp;gt;
&lt;/span&gt;            &lt;span style="COLOR: rgb(0,0,255)"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="COLOR: rgb(163,21,21)"&gt;Triggers&lt;/span&gt;&lt;span style="COLOR: rgb(0,0,255)"&gt;&amp;gt;
&lt;/span&gt;        &lt;span style="COLOR: rgb(0,0,255)"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="COLOR: rgb(163,21,21)"&gt;asp&lt;/span&gt;&lt;span style="COLOR: rgb(0,0,255)"&gt;:&lt;/span&gt;&lt;span style="COLOR: rgb(163,21,21)"&gt;UpdatePanel&lt;/span&gt;&lt;span style="COLOR: rgb(0,0,255)"&gt;&amp;gt;
&lt;/span&gt;    &lt;span style="COLOR: rgb(0,0,255)"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="COLOR: rgb(163,21,21)"&gt;form&lt;/span&gt;&lt;span style="COLOR: rgb(0,0,255)"&gt;&amp;gt;
&amp;lt;/&lt;/span&gt;&lt;span style="COLOR: rgb(163,21,21)"&gt;body&lt;/span&gt;&lt;span style="COLOR: rgb(0,0,255)"&gt;&amp;gt;
&amp;lt;/&lt;/span&gt;&lt;span style="COLOR: rgb(163,21,21)"&gt;html&lt;/span&gt;&lt;span style="COLOR: rgb(0,0,255)"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;p&gt;As you can see we have added a &lt;font face="Courier New"&gt;UpdateProgress&lt;/font&gt; Control in the &lt;font face="Courier New"&gt;UpdatePanel&lt;/font&gt; &lt;font face="Courier New"&gt;ContentTemplate&lt;/font&gt;. But the &lt;font face="Courier New"&gt;UpdateProgress&lt;/font&gt; does not get visible when you click any of the menu item. This is the true nature of &lt;font face="Courier New"&gt;UpdatePanel&lt;/font&gt;, it does not shows the &lt;font face="Courier New"&gt;UpdateProgress&lt;/font&gt; if the control is out side the &lt;font face="Courier New"&gt;UpdatePanel&lt;/font&gt; which caused the postback. We have to manually show the &lt;font face="Courier New"&gt;UpdateProgress&lt;/font&gt; by the JavaScript code like the following:&lt;/p&gt;
&lt;pre class="code"&gt;&lt;span style="COLOR: rgb(0,0,255)"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR: rgb(163,21,21)"&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"&amp;gt;

&lt;/span&gt;    &lt;span style="COLOR: rgb(0,0,255)"&gt;var&lt;/span&gt; prm = Sys.WebForms.PageRequestManager.getInstance();

    prm.add_initializeRequest(initializeRequest);
    prm.add_endRequest(endRequest);

    &lt;span style="COLOR: rgb(0,0,255)"&gt;var&lt;/span&gt; _postBackElement;

    &lt;span style="COLOR: rgb(0,0,255)"&gt;function&lt;/span&gt; initializeRequest(sender, e)
    {
        &lt;span style="COLOR: rgb(0,0,255)"&gt;if&lt;/span&gt; (prm.get_isInAsyncPostBack())
        {
            e.set_cancel(&lt;span style="COLOR: rgb(0,0,255)"&gt;true&lt;/span&gt;);
        }

        _postBackElement = e.get_postBackElement();

        &lt;span style="COLOR: rgb(0,0,255)"&gt;if&lt;/span&gt; (_postBackElement.id.indexOf(&lt;span style="COLOR: rgb(163,21,21)"&gt;'Menu1'&lt;/span&gt;) &amp;gt; -1)
        {
            $get(&lt;span style="COLOR: rgb(163,21,21)"&gt;'UpdateProgress1'&lt;/span&gt;).style.display = &lt;span style="COLOR: rgb(163,21,21)"&gt;'block'&lt;/span&gt;;
        }
    }

    &lt;span style="COLOR: rgb(0,0,255)"&gt;function&lt;/span&gt; endRequest(sender, e)
    {
        &lt;span style="COLOR: rgb(0,0,255)"&gt;if&lt;/span&gt; (_postBackElement.id.indexOf(&lt;span style="COLOR: rgb(163,21,21)"&gt;'Menu1'&lt;/span&gt;) &amp;gt; -1)
        {
            $get(&lt;span style="COLOR: rgb(163,21,21)"&gt;'UpdateProgress1'&lt;/span&gt;).style.display = &lt;span style="COLOR: rgb(163,21,21)"&gt;'none'&lt;/span&gt;;
        }
    }
&lt;span style="COLOR: rgb(0,0,255)"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="COLOR: rgb(163,21,21)"&gt;script&lt;/span&gt;&lt;span style="COLOR: rgb(0,0,255)"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre class="code"&gt;&lt;span style="COLOR: rgb(0,0,255)"&gt;&lt;/span&gt;&lt;/pre&gt;
&lt;p&gt;Now run the page, you will find the &lt;font face="Courier New"&gt;UpdateProgress&lt;/font&gt; Control is showing the loading message no matter which control caused the postback.&lt;/p&gt;
&lt;p&gt;In this final section we will implement the AjaxControlToolKit's &lt;font face="Courier New"&gt;ModalPopupExtender&lt;/font&gt; to show the loading message, this will give you a similar look of CodePlex Site. The following shows the source:&lt;/p&gt;
&lt;pre class="code"&gt;&lt;span style="BACKGROUND: rgb(255,238,98)"&gt;&amp;lt;%&lt;span style="COLOR: rgb(0,0,255)"&gt;&lt;/span&gt;@&lt;/span&gt; &lt;span style="COLOR: rgb(163,21,21)"&gt;Page&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;="C#"&lt;/span&gt; &lt;span style="COLOR: rgb(255,0,0)"&gt;AutoEventWireup&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;CodeFile&lt;/span&gt;&lt;span style="COLOR: rgb(0,0,255)"&gt;="SampleMenu2.aspx.cs"&lt;/span&gt; &lt;span style="COLOR: rgb(255,0,0)"&gt;Inherits&lt;/span&gt;&lt;span style="COLOR: rgb(0,0,255)"&gt;="SampleMenuPage2"&lt;/span&gt; &lt;span style="BACKGROUND: rgb(255,238,98)"&gt;%&amp;gt;
&lt;span style="COLOR: rgb(0,0,255)"&gt;&lt;/span&gt;&amp;lt;!&lt;/span&gt;&lt;span style="COLOR: rgb(163,21,21)"&gt;DOCTYPE&lt;/span&gt; &lt;span style="COLOR: rgb(255,0,0)"&gt;html&lt;/span&gt; &lt;span style="COLOR: rgb(255,0,0)"&gt;PUBLIC&lt;/span&gt; &lt;span style="COLOR: rgb(0,0,255)"&gt;"-//W3C//DTD XHTML 1.0 Transitional//EN"&lt;/span&gt; &lt;span style="COLOR: rgb(0,0,255)"&gt;"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"&amp;gt;
&amp;lt;&lt;/span&gt;&lt;span style="COLOR: rgb(163,21,21)"&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(0,0,255)"&gt;&amp;gt;
&amp;lt;&lt;/span&gt;&lt;span style="COLOR: rgb(163,21,21)"&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"&amp;gt;
&lt;/span&gt;    &lt;span style="COLOR: rgb(0,0,255)"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR: rgb(163,21,21)"&gt;title&lt;/span&gt;&lt;span style="COLOR: rgb(0,0,255)"&gt;&amp;gt;&lt;/span&gt;Sample Menu - ModalPopupExtender&lt;span style="COLOR: rgb(0,0,255)"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="COLOR: rgb(163,21,21)"&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,255)"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR: rgb(163,21,21)"&gt;style&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/css"&amp;gt;
&lt;/span&gt;        &lt;span style="COLOR: rgb(163,21,21)"&gt;.modalBackground
&lt;/span&gt;        {
            &lt;span style="COLOR: rgb(255,0,0)"&gt;background-color&lt;/span&gt;:&lt;span style="COLOR: rgb(0,0,255)"&gt;#dcdcdc&lt;/span&gt;;
            &lt;span style="COLOR: rgb(255,0,0)"&gt;filter&lt;/span&gt;:&lt;span style="COLOR: rgb(0,0,255)"&gt;alpha(opacity=60)&lt;/span&gt;;
            &lt;span style="COLOR: rgb(255,0,0)"&gt;opacity&lt;/span&gt;:&lt;span style="COLOR: rgb(0,0,255)"&gt;0.60&lt;/span&gt;;
        }
    &lt;span style="COLOR: rgb(0,0,255)"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="COLOR: rgb(163,21,21)"&gt;style&lt;/span&gt;&lt;span style="COLOR: rgb(0,0,255)"&gt;&amp;gt;
&amp;lt;/&lt;/span&gt;&lt;span style="COLOR: rgb(163,21,21)"&gt;head&lt;/span&gt;&lt;span style="COLOR: rgb(0,0,255)"&gt;&amp;gt;
&amp;lt;&lt;/span&gt;&lt;span style="COLOR: rgb(163,21,21)"&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,255)"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR: rgb(163,21,21)"&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"&amp;gt;
&lt;/span&gt;        &lt;span style="COLOR: rgb(0,0,255)"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR: rgb(163,21,21)"&gt;asp&lt;/span&gt;&lt;span style="COLOR: rgb(0,0,255)"&gt;:&lt;/span&gt;&lt;span style="COLOR: rgb(163,21,21)"&gt;Menu&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;="Menu1"&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;OnMenuItemClick&lt;/span&gt;&lt;span style="COLOR: rgb(0,0,255)"&gt;="Menu1_MenuItemClick"&amp;gt;
&lt;/span&gt;            &lt;span style="COLOR: rgb(0,0,255)"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR: rgb(163,21,21)"&gt;Items&lt;/span&gt;&lt;span style="COLOR: rgb(0,0,255)"&gt;&amp;gt;
&lt;/span&gt;                &lt;span style="COLOR: rgb(0,0,255)"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR: rgb(163,21,21)"&gt;asp&lt;/span&gt;&lt;span style="COLOR: rgb(0,0,255)"&gt;:&lt;/span&gt;&lt;span style="COLOR: rgb(163,21,21)"&gt;MenuItem&lt;/span&gt; &lt;span style="COLOR: rgb(255,0,0)"&gt;Text&lt;/span&gt;&lt;span style="COLOR: rgb(0,0,255)"&gt;="File"&amp;gt;
&lt;/span&gt;                    &lt;span style="COLOR: rgb(0,0,255)"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR: rgb(163,21,21)"&gt;asp&lt;/span&gt;&lt;span style="COLOR: rgb(0,0,255)"&gt;:&lt;/span&gt;&lt;span style="COLOR: rgb(163,21,21)"&gt;MenuItem&lt;/span&gt; &lt;span style="COLOR: rgb(255,0,0)"&gt;Text&lt;/span&gt;&lt;span style="COLOR: rgb(0,0,255)"&gt;="Load Control1"&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span style="COLOR: rgb(163,21,21)"&gt;asp&lt;/span&gt;&lt;span style="COLOR: rgb(0,0,255)"&gt;:&lt;/span&gt;&lt;span style="COLOR: rgb(163,21,21)"&gt;MenuItem&lt;/span&gt;&lt;span style="COLOR: rgb(0,0,255)"&gt;&amp;gt;
&lt;/span&gt;                    &lt;span style="COLOR: rgb(0,0,255)"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR: rgb(163,21,21)"&gt;asp&lt;/span&gt;&lt;span style="COLOR: rgb(0,0,255)"&gt;:&lt;/span&gt;&lt;span style="COLOR: rgb(163,21,21)"&gt;MenuItem&lt;/span&gt; &lt;span style="COLOR: rgb(255,0,0)"&gt;Text&lt;/span&gt;&lt;span style="COLOR: rgb(0,0,255)"&gt;="Load Control2"&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span style="COLOR: rgb(163,21,21)"&gt;asp&lt;/span&gt;&lt;span style="COLOR: rgb(0,0,255)"&gt;:&lt;/span&gt;&lt;span style="COLOR: rgb(163,21,21)"&gt;MenuItem&lt;/span&gt;&lt;span style="COLOR: rgb(0,0,255)"&gt;&amp;gt;
&lt;/span&gt;                    &lt;span style="COLOR: rgb(0,0,255)"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR: rgb(163,21,21)"&gt;asp&lt;/span&gt;&lt;span style="COLOR: rgb(0,0,255)"&gt;:&lt;/span&gt;&lt;span style="COLOR: rgb(163,21,21)"&gt;MenuItem&lt;/span&gt; &lt;span style="COLOR: rgb(255,0,0)"&gt;Text&lt;/span&gt;&lt;span style="COLOR: rgb(0,0,255)"&gt;="Load Control3"&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span style="COLOR: rgb(163,21,21)"&gt;asp&lt;/span&gt;&lt;span style="COLOR: rgb(0,0,255)"&gt;:&lt;/span&gt;&lt;span style="COLOR: rgb(163,21,21)"&gt;MenuItem&lt;/span&gt;&lt;span style="COLOR: rgb(0,0,255)"&gt;&amp;gt;
&lt;/span&gt;                &lt;span style="COLOR: rgb(0,0,255)"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="COLOR: rgb(163,21,21)"&gt;asp&lt;/span&gt;&lt;span style="COLOR: rgb(0,0,255)"&gt;:&lt;/span&gt;&lt;span style="COLOR: rgb(163,21,21)"&gt;MenuItem&lt;/span&gt;&lt;span style="COLOR: rgb(0,0,255)"&gt;&amp;gt;
&lt;/span&gt;            &lt;span style="COLOR: rgb(0,0,255)"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="COLOR: rgb(163,21,21)"&gt;Items&lt;/span&gt;&lt;span style="COLOR: rgb(0,0,255)"&gt;&amp;gt;
&lt;/span&gt;        &lt;span style="COLOR: rgb(0,0,255)"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="COLOR: rgb(163,21,21)"&gt;asp&lt;/span&gt;&lt;span style="COLOR: rgb(0,0,255)"&gt;:&lt;/span&gt;&lt;span style="COLOR: rgb(163,21,21)"&gt;Menu&lt;/span&gt;&lt;span style="COLOR: rgb(0,0,255)"&gt;&amp;gt;
&lt;/span&gt;        &lt;span style="COLOR: rgb(0,0,255)"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR: rgb(163,21,21)"&gt;br&lt;/span&gt; &lt;span style="COLOR: rgb(0,0,255)"&gt;/&amp;gt;
&lt;/span&gt;        &lt;span style="COLOR: rgb(0,0,255)"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR: rgb(163,21,21)"&gt;br&lt;/span&gt; &lt;span style="COLOR: rgb(0,0,255)"&gt;/&amp;gt;
&lt;/span&gt;        &lt;span style="COLOR: rgb(0,0,255)"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR: rgb(163,21,21)"&gt;asp&lt;/span&gt;&lt;span style="COLOR: rgb(0,0,255)"&gt;:&lt;/span&gt;&lt;span style="COLOR: rgb(163,21,21)"&gt;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;runat&lt;/span&gt;&lt;span style="COLOR: rgb(0,0,255)"&gt;="server"&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span style="COLOR: rgb(163,21,21)"&gt;asp&lt;/span&gt;&lt;span style="COLOR: rgb(0,0,255)"&gt;:&lt;/span&gt;&lt;span style="COLOR: rgb(163,21,21)"&gt;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,255)"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR: rgb(163,21,21)"&gt;asp&lt;/span&gt;&lt;span style="COLOR: rgb(0,0,255)"&gt;:&lt;/span&gt;&lt;span style="COLOR: rgb(163,21,21)"&gt;UpdatePanel&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;="UpdatePanel1"&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;UpdateMode&lt;/span&gt;&lt;span style="COLOR: rgb(0,0,255)"&gt;="Conditional"&amp;gt;
&lt;/span&gt;            &lt;span style="COLOR: rgb(0,0,255)"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR: rgb(163,21,21)"&gt;ContentTemplate&lt;/span&gt;&lt;span style="COLOR: rgb(0,0,255)"&gt;&amp;gt;
&lt;/span&gt;                &lt;span style="COLOR: rgb(0,0,255)"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR: rgb(163,21,21)"&gt;asp&lt;/span&gt;&lt;span style="COLOR: rgb(0,0,255)"&gt;:&lt;/span&gt;&lt;span style="COLOR: rgb(163,21,21)"&gt;PlaceHolder&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;="PlaceHolder1"&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"&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span style="COLOR: rgb(163,21,21)"&gt;asp&lt;/span&gt;&lt;span style="COLOR: rgb(0,0,255)"&gt;:&lt;/span&gt;&lt;span style="COLOR: rgb(163,21,21)"&gt;PlaceHolder&lt;/span&gt;&lt;span style="COLOR: rgb(0,0,255)"&gt;&amp;gt;
&lt;/span&gt;            &lt;span style="COLOR: rgb(0,0,255)"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="COLOR: rgb(163,21,21)"&gt;ContentTemplate&lt;/span&gt;&lt;span style="COLOR: rgb(0,0,255)"&gt;&amp;gt;
&lt;/span&gt;            &lt;span style="COLOR: rgb(0,0,255)"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR: rgb(163,21,21)"&gt;Triggers&lt;/span&gt;&lt;span style="COLOR: rgb(0,0,255)"&gt;&amp;gt;
&lt;/span&gt;                &lt;span style="COLOR: rgb(0,0,255)"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR: rgb(163,21,21)"&gt;asp&lt;/span&gt;&lt;span style="COLOR: rgb(0,0,255)"&gt;:&lt;/span&gt;&lt;span style="COLOR: rgb(163,21,21)"&gt;AsyncPostBackTrigger&lt;/span&gt; &lt;span style="COLOR: rgb(255,0,0)"&gt;ControlID&lt;/span&gt;&lt;span style="COLOR: rgb(0,0,255)"&gt;="Menu1"&lt;/span&gt; &lt;span style="COLOR: rgb(0,0,255)"&gt;/&amp;gt;
&lt;/span&gt;            &lt;span style="COLOR: rgb(0,0,255)"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="COLOR: rgb(163,21,21)"&gt;Triggers&lt;/span&gt;&lt;span style="COLOR: rgb(0,0,255)"&gt;&amp;gt;
&lt;/span&gt;        &lt;span style="COLOR: rgb(0,0,255)"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="COLOR: rgb(163,21,21)"&gt;asp&lt;/span&gt;&lt;span style="COLOR: rgb(0,0,255)"&gt;:&lt;/span&gt;&lt;span style="COLOR: rgb(163,21,21)"&gt;UpdatePanel&lt;/span&gt;&lt;span style="COLOR: rgb(0,0,255)"&gt;&amp;gt;
&lt;/span&gt;        &lt;span style="COLOR: rgb(0,0,255)"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR: rgb(163,21,21)"&gt;asp&lt;/span&gt;&lt;span style="COLOR: rgb(0,0,255)"&gt;:&lt;/span&gt;&lt;span style="COLOR: rgb(163,21,21)"&gt;Panel&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;="Panel1"&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;style&lt;/span&gt;&lt;span style="COLOR: rgb(0,0,255)"&gt;="background-color:#ffffff;display:none;width:400px"&amp;gt;
&lt;/span&gt;            &lt;span style="COLOR: rgb(0,0,255)"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR: rgb(163,21,21)"&gt;div&lt;/span&gt; &lt;span style="COLOR: rgb(255,0,0)"&gt;style&lt;/span&gt;&lt;span style="COLOR: rgb(0,0,255)"&gt;="padding:8px"&amp;gt;
&lt;/span&gt;                &lt;span style="COLOR: rgb(0,0,255)"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR: rgb(163,21,21)"&gt;h2&lt;/span&gt;&lt;span style="COLOR: rgb(0,0,255)"&gt;&amp;gt;&lt;/span&gt;Loading...&lt;span style="COLOR: rgb(0,0,255)"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="COLOR: rgb(163,21,21)"&gt;h2&lt;/span&gt;&lt;span style="COLOR: rgb(0,0,255)"&gt;&amp;gt;
&lt;/span&gt;            &lt;span style="COLOR: rgb(0,0,255)"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="COLOR: rgb(163,21,21)"&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,255)"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="COLOR: rgb(163,21,21)"&gt;asp&lt;/span&gt;&lt;span style="COLOR: rgb(0,0,255)"&gt;:&lt;/span&gt;&lt;span style="COLOR: rgb(163,21,21)"&gt;Panel&lt;/span&gt;&lt;span style="COLOR: rgb(0,0,255)"&gt;&amp;gt;
&lt;/span&gt;        &lt;span style="COLOR: rgb(0,0,255)"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR: rgb(163,21,21)"&gt;ajaxToolKit&lt;/span&gt;&lt;span style="COLOR: rgb(0,0,255)"&gt;:&lt;/span&gt;&lt;span style="COLOR: rgb(163,21,21)"&gt;ModalPopupExtender&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;="ModalPopupExtender1"&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;TargetControlID&lt;/span&gt;&lt;span style="COLOR: rgb(0,0,255)"&gt;="Panel1"&lt;/span&gt; &lt;span style="COLOR: rgb(255,0,0)"&gt;PopupControlID&lt;/span&gt;&lt;span style="COLOR: rgb(0,0,255)"&gt;="Panel1"&lt;/span&gt; &lt;span style="COLOR: rgb(255,0,0)"&gt;BackgroundCssClass&lt;/span&gt;&lt;span style="COLOR: rgb(0,0,255)"&gt;="modalBackground"&lt;/span&gt; &lt;span style="COLOR: rgb(255,0,0)"&gt;DropShadow&lt;/span&gt;&lt;span style="COLOR: rgb(0,0,255)"&gt;="true"&lt;/span&gt; &lt;span style="COLOR: rgb(0,0,255)"&gt;/&amp;gt;
&lt;/span&gt;        &lt;span style="COLOR: rgb(0,0,255)"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR: rgb(163,21,21)"&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"&amp;gt;

&lt;/span&gt;            &lt;span style="COLOR: rgb(0,0,255)"&gt;var&lt;/span&gt; prm = Sys.WebForms.PageRequestManager.getInstance();

            prm.add_initializeRequest(initializeRequest);
            prm.add_endRequest(endRequest);

            &lt;span style="COLOR: rgb(0,0,255)"&gt;var&lt;/span&gt; _postBackElement;

            &lt;span style="COLOR: rgb(0,0,255)"&gt;function&lt;/span&gt; initializeRequest(sender, e)
            {
                &lt;span style="COLOR: rgb(0,0,255)"&gt;if&lt;/span&gt; (prm.get_isInAsyncPostBack())
                {
                    e.set_cancel(&lt;span style="COLOR: rgb(0,0,255)"&gt;true&lt;/span&gt;);
                }

                _postBackElement = e.get_postBackElement();

                &lt;span style="COLOR: rgb(0,0,255)"&gt;if&lt;/span&gt; (_postBackElement.id.indexOf(&lt;span style="COLOR: rgb(163,21,21)"&gt;'Menu1'&lt;/span&gt;) &amp;gt; -1)
                {
                    $find(&lt;span style="COLOR: rgb(163,21,21)"&gt;'ModalPopupExtender1'&lt;/span&gt;).show();
                }
            }

            &lt;span style="COLOR: rgb(0,0,255)"&gt;function&lt;/span&gt; endRequest(sender, e)
            {
                &lt;span style="COLOR: rgb(0,0,255)"&gt;if&lt;/span&gt; (_postBackElement.id.indexOf(&lt;span style="COLOR: rgb(163,21,21)"&gt;'Menu1'&lt;/span&gt;) &amp;gt; -1)
                {
                    $find(&lt;span style="COLOR: rgb(163,21,21)"&gt;'ModalPopupExtender1'&lt;/span&gt;).hide();
                }
            }
        &lt;span style="COLOR: rgb(0,0,255)"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="COLOR: rgb(163,21,21)"&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,255)"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="COLOR: rgb(163,21,21)"&gt;form&lt;/span&gt;&lt;span style="COLOR: rgb(0,0,255)"&gt;&amp;gt;
&amp;lt;/&lt;/span&gt;&lt;span style="COLOR: rgb(163,21,21)"&gt;body&lt;/span&gt;&lt;span style="COLOR: rgb(0,0,255)"&gt;&amp;gt;
&amp;lt;/&lt;/span&gt;&lt;span style="COLOR: rgb(163,21,21)"&gt;html&lt;/span&gt;&lt;span style="COLOR: rgb(0,0,255)"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;p&gt;As you can see we first created a custom style which will be shown as the background style when the modal popup is visible, next we have added a regular Asp.net &lt;font face="Courier New"&gt;Panel&lt;/font&gt; control which will be shown as the modal popup. We have initially set the Panel control display mode to none, so there will be no flicker when the modal popup is shown. At last, we have added a &lt;font face="Courier New"&gt;ModalPopupExtender&lt;/font&gt; and sets its required property. The previous rule also applies here, we have to manually show/hide the ModalPopup which we are doing in the above JavaScript code. You will also found few cool techniques of ModalPopupExtender in this &lt;a target="_blank" href="http://mattberseth.com/blog/modalpopupextender/"&gt;link&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;To run the sample first create a AjaxControlToolKit enable site website then create a folder DynamicControlLoading folder and copy the files in the following attachment.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Download&lt;/strong&gt;: &lt;a target="_blank" href="http://www.box.net/shared/2bto1jb0u3"&gt;Complete Source&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a target="_blank" href="http://www.dotnetkicks.com/kick/?url=http://geekswithblogs.net/rashid/archive/2007/08/11/Loading-UserControl-Dynamically-in-UpdatePanel.aspx"&gt;&lt;img alt="kick it on DotNetKicks.com" border="0" src="http://www.dotnetkicks.com/Services/Images/KickItImageGenerator.ashx?url=http://geekswithblogs.net/rashid/archive/2007/08/11/Loading-UserControl-Dynamically-in-UpdatePanel.aspx" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=114574"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=114574" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/rashid/aggbug/114574.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Kazi Manzur Rashid</dc:creator>
            <guid>http://geekswithblogs.net/rashid/archive/2007/08/11/Loading-UserControl-Dynamically-in-UpdatePanel.aspx</guid>
            <pubDate>Sat, 11 Aug 2007 14:48:32 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/rashid/comments/114574.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/rashid/archive/2007/08/11/Loading-UserControl-Dynamically-in-UpdatePanel.aspx#feedback</comments>
            <slash:comments>11</slash:comments>
            <wfw:commentRss>http://geekswithblogs.net/rashid/comments/commentRss/114574.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/rashid/services/trackbacks/114574.aspx</trackback:ping>
        </item>
        <item>
            <title>Asp.net Ajax UpdatePanel Simultaneous Update - A Remedy</title>
            <link>http://geekswithblogs.net/rashid/archive/2007/08/08/Asp.net-Ajax-UpdatePanel-Simultaneous-Update---A-Remedy.aspx</link>
            <description>&lt;p&gt;If you ever try to do more than one simultaneous partial update with Asp.net Ajax Update Panel, I guess  you already found  that Asp.net Ajax Framework cancel the current update request and starts the new one. You think I am kidding? Okay lets try the following code:&lt;/p&gt;
&lt;pre class="code"&gt;&lt;span style="BACKGROUND: rgb(255,238,98)"&gt;&amp;lt;%&lt;span style="COLOR: rgb(0,0,255)"&gt;&lt;/span&gt;@&lt;/span&gt; &lt;span style="COLOR: rgb(163,21,21)"&gt;Page&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;="C#"&lt;/span&gt;&lt;span style="BACKGROUND: rgb(255,238,98)"&gt;%&amp;gt;
&lt;span style="COLOR: rgb(0,0,255)"&gt;&lt;/span&gt;&amp;lt;!&lt;/span&gt;&lt;span style="COLOR: rgb(163,21,21)"&gt;DOCTYPE&lt;/span&gt; &lt;span style="COLOR: rgb(255,0,0)"&gt;html&lt;/span&gt; &lt;span style="COLOR: rgb(255,0,0)"&gt;PUBLIC&lt;/span&gt; &lt;span style="COLOR: rgb(0,0,255)"&gt;"-//W3C//DTD XHTML 1.0 Transitional//EN"&lt;/span&gt; &lt;span style="COLOR: rgb(0,0,255)"&gt;"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"&amp;gt;
&amp;lt;&lt;/span&gt;&lt;span style="COLOR: rgb(163,21,21)"&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"&amp;gt;
&lt;/span&gt;    &lt;span style="COLOR: rgb(0,0,255)"&gt;protected&lt;/span&gt; &lt;span style="COLOR: rgb(0,0,255)"&gt;void&lt;/span&gt; Page_Load(&lt;span style="COLOR: rgb(0,0,255)"&gt;object&lt;/span&gt; sender, &lt;span style="COLOR: rgb(43,145,175)"&gt;EventArgs&lt;/span&gt; e)
    {
        &lt;span style="COLOR: rgb(0,0,255)"&gt;if&lt;/span&gt; (!IsPostBack)
        {
            lblDate1.Text = lblDate2.Text = &lt;span style="COLOR: rgb(43,145,175)"&gt;DateTime&lt;/span&gt;.Now.ToString();
        }
    }

    &lt;span style="COLOR: rgb(0,0,255)"&gt;protected&lt;/span&gt; &lt;span style="COLOR: rgb(0,0,255)"&gt;void&lt;/span&gt; btnDate1_Click(&lt;span style="COLOR: rgb(0,0,255)"&gt;object&lt;/span&gt; sender, &lt;span style="COLOR: rgb(43,145,175)"&gt;EventArgs&lt;/span&gt; e)
    {
        System.Threading.&lt;span style="COLOR: rgb(43,145,175)"&gt;Thread&lt;/span&gt;.Sleep(1000 * 5); &lt;span style="COLOR: rgb(0,128,0)"&gt;// Sleeps 5 second
&lt;/span&gt;        lblDate1.Text = &lt;span style="COLOR: rgb(43,145,175)"&gt;DateTime&lt;/span&gt;.Now.ToString();
    }

    &lt;span style="COLOR: rgb(0,0,255)"&gt;protected&lt;/span&gt; &lt;span style="COLOR: rgb(0,0,255)"&gt;void&lt;/span&gt; btnDate2_Click(&lt;span style="COLOR: rgb(0,0,255)"&gt;object&lt;/span&gt; sender, &lt;span style="COLOR: rgb(43,145,175)"&gt;EventArgs&lt;/span&gt; e)
    {
        System.Threading.&lt;span style="COLOR: rgb(43,145,175)"&gt;Thread&lt;/span&gt;.Sleep(1000 * 5); &lt;span style="COLOR: rgb(0,128,0)"&gt;// Sleeps 5 second
&lt;/span&gt;        lblDate2.Text = &lt;span style="COLOR: rgb(43,145,175)"&gt;DateTime&lt;/span&gt;.Now.ToString();
    }
&lt;span style="COLOR: rgb(0,0,255)"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="COLOR: rgb(163,21,21)"&gt;script&lt;/span&gt;&lt;span style="COLOR: rgb(0,0,255)"&gt;&amp;gt;
&amp;lt;&lt;/span&gt;&lt;span style="COLOR: rgb(163,21,21)"&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(0,0,255)"&gt;&amp;gt;
&amp;lt;&lt;/span&gt;&lt;span style="COLOR: rgb(163,21,21)"&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"&amp;gt;
&lt;/span&gt;    &lt;span style="COLOR: rgb(0,0,255)"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR: rgb(163,21,21)"&gt;title&lt;/span&gt;&lt;span style="COLOR: rgb(0,0,255)"&gt;&amp;gt;&lt;/span&gt;Update Panel&lt;span style="COLOR: rgb(0,0,255)"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="COLOR: rgb(163,21,21)"&gt;title&lt;/span&gt;&lt;span style="COLOR: rgb(0,0,255)"&gt;&amp;gt;
&amp;lt;/&lt;/span&gt;&lt;span style="COLOR: rgb(163,21,21)"&gt;head&lt;/span&gt;&lt;span style="COLOR: rgb(0,0,255)"&gt;&amp;gt;
&amp;lt;&lt;/span&gt;&lt;span style="COLOR: rgb(163,21,21)"&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,255)"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR: rgb(163,21,21)"&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"&amp;gt;
&lt;/span&gt;        &lt;span style="COLOR: rgb(0,0,255)"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR: rgb(163,21,21)"&gt;asp&lt;/span&gt;&lt;span style="COLOR: rgb(0,0,255)"&gt;:&lt;/span&gt;&lt;span style="COLOR: rgb(163,21,21)"&gt;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;runat&lt;/span&gt;&lt;span style="COLOR: rgb(0,0,255)"&gt;="server"&amp;gt;
&lt;/span&gt;        &lt;span style="COLOR: rgb(0,0,255)"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="COLOR: rgb(163,21,21)"&gt;asp&lt;/span&gt;&lt;span style="COLOR: rgb(0,0,255)"&gt;:&lt;/span&gt;&lt;span style="COLOR: rgb(163,21,21)"&gt;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,255)"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR: rgb(163,21,21)"&gt;asp&lt;/span&gt;&lt;span style="COLOR: rgb(0,0,255)"&gt;:&lt;/span&gt;&lt;span style="COLOR: rgb(163,21,21)"&gt;UpdatePanel&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;="updDate1"&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;UpdateMode&lt;/span&gt;&lt;span style="COLOR: rgb(0,0,255)"&gt;="Conditional"&amp;gt;
&lt;/span&gt;            &lt;span style="COLOR: rgb(0,0,255)"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR: rgb(163,21,21)"&gt;ContentTemplate&lt;/span&gt;&lt;span style="COLOR: rgb(0,0,255)"&gt;&amp;gt;
&lt;/span&gt;                Update Panel 1: &lt;span style="COLOR: rgb(0,0,255)"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR: rgb(163,21,21)"&gt;asp&lt;/span&gt;&lt;span style="COLOR: rgb(0,0,255)"&gt;:&lt;/span&gt;&lt;span style="COLOR: rgb(163,21,21)"&gt;Label&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;="lblDate1"&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"&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span style="COLOR: rgb(163,21,21)"&gt;asp&lt;/span&gt;&lt;span style="COLOR: rgb(0,0,255)"&gt;:&lt;/span&gt;&lt;span style="COLOR: rgb(163,21,21)"&gt;Label&lt;/span&gt;&lt;span style="COLOR: rgb(0,0,255)"&gt;&amp;gt;
&lt;/span&gt;                &lt;span style="COLOR: rgb(0,0,255)"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR: rgb(163,21,21)"&gt;asp&lt;/span&gt;&lt;span style="COLOR: rgb(0,0,255)"&gt;:&lt;/span&gt;&lt;span style="COLOR: rgb(163,21,21)"&gt;Button&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;="btnDate1"&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;Text&lt;/span&gt;&lt;span style="COLOR: rgb(0,0,255)"&gt;="Update Time"&lt;/span&gt; &lt;span style="COLOR: rgb(255,0,0)"&gt;OnClick&lt;/span&gt;&lt;span style="COLOR: rgb(0,0,255)"&gt;="btnDate1_Click"&lt;/span&gt; &lt;span style="COLOR: rgb(0,0,255)"&gt;/&amp;gt;
&lt;/span&gt;            &lt;span style="COLOR: rgb(0,0,255)"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="COLOR: rgb(163,21,21)"&gt;ContentTemplate&lt;/span&gt;&lt;span style="COLOR: rgb(0,0,255)"&gt;&amp;gt;
&lt;/span&gt;        &lt;span style="COLOR: rgb(0,0,255)"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="COLOR: rgb(163,21,21)"&gt;asp&lt;/span&gt;&lt;span style="COLOR: rgb(0,0,255)"&gt;:&lt;/span&gt;&lt;span style="COLOR: rgb(163,21,21)"&gt;UpdatePanel&lt;/span&gt;&lt;span style="COLOR: rgb(0,0,255)"&gt;&amp;gt;
&lt;/span&gt;        &lt;span style="COLOR: rgb(0,0,255)"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR: rgb(163,21,21)"&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,255)"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR: rgb(163,21,21)"&gt;asp&lt;/span&gt;&lt;span style="COLOR: rgb(0,0,255)"&gt;:&lt;/span&gt;&lt;span style="COLOR: rgb(163,21,21)"&gt;UpdatePanel&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;="updDate2"&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;UpdateMode&lt;/span&gt;&lt;span style="COLOR: rgb(0,0,255)"&gt;="Conditional"&lt;/span&gt; &lt;span style="COLOR: rgb(255,0,0)"&gt;RenderMode&lt;/span&gt;&lt;span style="COLOR: rgb(0,0,255)"&gt;="Inline"&amp;gt;
&lt;/span&gt;                &lt;span style="COLOR: rgb(0,0,255)"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR: rgb(163,21,21)"&gt;ContentTemplate&lt;/span&gt;&lt;span style="COLOR: rgb(0,0,255)"&gt;&amp;gt;
&lt;/span&gt;                    Update Panel 2: &lt;span style="COLOR: rgb(0,0,255)"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR: rgb(163,21,21)"&gt;asp&lt;/span&gt;&lt;span style="COLOR: rgb(0,0,255)"&gt;:&lt;/span&gt;&lt;span style="COLOR: rgb(163,21,21)"&gt;Label&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;="lblDate2"&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"&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span style="COLOR: rgb(163,21,21)"&gt;asp&lt;/span&gt;&lt;span style="COLOR: rgb(0,0,255)"&gt;:&lt;/span&gt;&lt;span style="COLOR: rgb(163,21,21)"&gt;Label&lt;/span&gt;&lt;span style="COLOR: rgb(0,0,255)"&gt;&amp;gt;
&lt;/span&gt;                    &lt;span style="COLOR: rgb(0,0,255)"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR: rgb(163,21,21)"&gt;asp&lt;/span&gt;&lt;span style="COLOR: rgb(0,0,255)"&gt;:&lt;/span&gt;&lt;span style="COLOR: rgb(163,21,21)"&gt;Button&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;="btnDate2"&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;Text&lt;/span&gt;&lt;span style="COLOR: rgb(0,0,255)"&gt;="Update Time"&lt;/span&gt; &lt;span style="COLOR: rgb(255,0,0)"&gt;OnClick&lt;/span&gt;&lt;span style="COLOR: rgb(0,0,255)"&gt;="btnDate2_Click"&lt;/span&gt; &lt;span style="COLOR: rgb(0,0,255)"&gt;/&amp;gt;
&lt;/span&gt;                &lt;span style="COLOR: rgb(0,0,255)"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="COLOR: rgb(163,21,21)"&gt;ContentTemplate&lt;/span&gt;&lt;span style="COLOR: rgb(0,0,255)"&gt;&amp;gt;
&lt;/span&gt;            &lt;span style="COLOR: rgb(0,0,255)"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="COLOR: rgb(163,21,21)"&gt;asp&lt;/span&gt;&lt;span style="COLOR: rgb(0,0,255)"&gt;:&lt;/span&gt;&lt;span style="COLOR: rgb(163,21,21)"&gt;UpdatePanel&lt;/span&gt;&lt;span style="COLOR: rgb(0,0,255)"&gt;&amp;gt;
&lt;/span&gt;        &lt;span style="COLOR: rgb(0,0,255)"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="COLOR: rgb(163,21,21)"&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,255)"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="COLOR: rgb(163,21,21)"&gt;form&lt;/span&gt;&lt;span style="COLOR: rgb(0,0,255)"&gt;&amp;gt;
&amp;lt;/&lt;/span&gt;&lt;span style="COLOR: rgb(163,21,21)"&gt;body&lt;/span&gt;&lt;span style="COLOR: rgb(0,0,255)"&gt;&amp;gt;
&amp;lt;/&lt;/span&gt;&lt;span style="COLOR: rgb(163,21,21)"&gt;html&lt;/span&gt;&lt;span style="COLOR: rgb(0,0,255)"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;p&gt;The example is quite simple, I have two update panel which &lt;font face="Courier New"&gt;UpdateMode&lt;/font&gt; is set to &lt;font face="Courier New"&gt;Conditional&lt;/font&gt;, upon clicking the buttons inside the update panel I am doing a fake delay of 5 seconds then printing the current time of the server in the labels. Okay now run the code and click the first button and then click the second button in 5 seconds so that you can do simultaneous update. What happens, the first label never gets updated? Yes this is the nature of update panel, it cancels the current call and start executing the new one. You can get a more clear picture if you run it in &lt;a target="_blank" href="http://www.mozilla.com/en-US/firefox/"&gt;FireFox&lt;/a&gt; with &lt;a target="_blank" href="http://www.getfirebug.com/"&gt;FireBug&lt;/a&gt;, Open FireFox Click Tools-&amp;gt;FireBug-&amp;gt;Open FireBug, then move to the Console tab in the firebug and repeat the button clicks, you will find only the last request spinning  animation gets completed.&lt;/p&gt;
&lt;p&gt;I can understand the Update Panel does a monsters job for us, executing the full life cycle of the page in the server, generating the updated part of the page, downloading new scripts, updating viewstates etc and that is why it needs to work serially. But how come it discards it current update request once it found a new request? is not it better if it queues the new request and execute it once the current request completes? &lt;br /&gt;
&lt;br /&gt;
Now Consider the following page:&lt;/p&gt;
&lt;pre class="code"&gt;&lt;span style="BACKGROUND: rgb(255,238,98)"&gt;&amp;lt;%&lt;span style="COLOR: rgb(0,0,255)"&gt;&lt;/span&gt;@&lt;/span&gt; &lt;span style="COLOR: rgb(163,21,21)"&gt;Page&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;="C#"&lt;/span&gt;&lt;span style="BACKGROUND: rgb(255,238,98)"&gt;%&amp;gt;
&lt;span style="COLOR: rgb(0,0,255)"&gt;&lt;/span&gt;&amp;lt;!&lt;/span&gt;&lt;span style="COLOR: rgb(163,21,21)"&gt;DOCTYPE&lt;/span&gt; &lt;span style="COLOR: rgb(255,0,0)"&gt;html&lt;/span&gt; &lt;span style="COLOR: rgb(255,0,0)"&gt;PUBLIC&lt;/span&gt; &lt;span style="COLOR: rgb(0,0,255)"&gt;"-//W3C//DTD XHTML 1.0 Transitional//EN"&lt;/span&gt; &lt;span style="COLOR: rgb(0,0,255)"&gt;"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"&amp;gt;
&amp;lt;&lt;/span&gt;&lt;span style="COLOR: rgb(163,21,21)"&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"&amp;gt;
&lt;/span&gt;    &lt;span style="COLOR: rgb(0,0,255)"&gt;protected&lt;/span&gt; &lt;span style="COLOR: rgb(0,0,255)"&gt;void&lt;/span&gt; Page_Load(&lt;span style="COLOR: rgb(0,0,255)"&gt;object&lt;/span&gt; sender, &lt;span style="COLOR: rgb(43,145,175)"&gt;EventArgs&lt;/span&gt; e)
    {
        &lt;span style="COLOR: rgb(0,0,255)"&gt;if&lt;/span&gt; (!IsPostBack)
        {
            lblDate1.Text = lblDate2.Text = &lt;span style="COLOR: rgb(43,145,175)"&gt;DateTime&lt;/span&gt;.Now.ToString();
        }
    }

    &lt;span style="COLOR: rgb(0,0,255)"&gt;protected&lt;/span&gt; &lt;span style="COLOR: rgb(0,0,255)"&gt;void&lt;/span&gt; btnDate1_Click(&lt;span style="COLOR: rgb(0,0,255)"&gt;object&lt;/span&gt; sender, &lt;span style="COLOR: rgb(43,145,175)"&gt;EventArgs&lt;/span&gt; e)
    {
        System.Threading.&lt;span style="COLOR: rgb(43,145,175)"&gt;Thread&lt;/span&gt;.Sleep(1000 * 5); &lt;span style="COLOR: rgb(0,128,0)"&gt;// Sleeps 5 second
&lt;/span&gt;        lblDate1.Text = &lt;span style="COLOR: rgb(43,145,175)"&gt;DateTime&lt;/span&gt;.Now.ToString();
    }

    &lt;span style="COLOR: rgb(0,0,255)"&gt;protected&lt;/span&gt; &lt;span style="COLOR: rgb(0,0,255)"&gt;void&lt;/span&gt; btnDate2_Click(&lt;span style="COLOR: rgb(0,0,255)"&gt;object&lt;/span&gt; sender, &lt;span style="COLOR: rgb(43,145,175)"&gt;EventArgs&lt;/span&gt; e)
    {
        System.Threading.&lt;span style="COLOR: rgb(43,145,175)"&gt;Thread&lt;/span&gt;.Sleep(1000 * 5); &lt;span style="COLOR: rgb(0,128,0)"&gt;// Sleeps 5 second
&lt;/span&gt;        lblDate2.Text = &lt;span style="COLOR: rgb(43,145,175)"&gt;DateTime&lt;/span&gt;.Now.ToString();
    }
&lt;span style="COLOR: rgb(0,0,255)"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="COLOR: rgb(163,21,21)"&gt;script&lt;/span&gt;&lt;span style="COLOR: rgb(0,0,255)"&gt;&amp;gt;
&amp;lt;&lt;/span&gt;&lt;span style="COLOR: rgb(163,21,21)"&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(0,0,255)"&gt;&amp;gt;
&amp;lt;&lt;/span&gt;&lt;span style="COLOR: rgb(163,21,21)"&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"&amp;gt;
&lt;/span&gt;    &lt;span style="COLOR: rgb(0,0,255)"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR: rgb(163,21,21)"&gt;title&lt;/span&gt;&lt;span style="COLOR: rgb(0,0,255)"&gt;&amp;gt;&lt;/span&gt;Update Panel Enhanced&lt;span style="COLOR: rgb(0,0,255)"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="COLOR: rgb(163,21,21)"&gt;title&lt;/span&gt;&lt;span style="COLOR: rgb(0,0,255)"&gt;&amp;gt;
&amp;lt;/&lt;/span&gt;&lt;span style="COLOR: rgb(163,21,21)"&gt;head&lt;/span&gt;&lt;span style="COLOR: rgb(0,0,255)"&gt;&amp;gt;
&amp;lt;&lt;/span&gt;&lt;span style="COLOR: rgb(163,21,21)"&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,255)"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR: rgb(163,21,21)"&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"&amp;gt;
&lt;/span&gt;        &lt;span style="COLOR: rgb(0,0,255)"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR: rgb(163,21,21)"&gt;asp&lt;/span&gt;&lt;span style="COLOR: rgb(0,0,255)"&gt;:&lt;/span&gt;&lt;span style="COLOR: rgb(163,21,21)"&gt;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;runat&lt;/span&gt;&lt;span style="COLOR: rgb(0,0,255)"&gt;="server"&amp;gt;
&lt;/span&gt;            &lt;span style="COLOR: rgb(0,0,255)"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR: rgb(163,21,21)"&gt;Scripts&lt;/span&gt;&lt;span style="COLOR: rgb(0,0,255)"&gt;&amp;gt;
&lt;/span&gt;                &lt;span style="COLOR: rgb(0,0,255)"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR: rgb(163,21,21)"&gt;asp&lt;/span&gt;&lt;span style="COLOR: rgb(0,0,255)"&gt;:&lt;/span&gt;&lt;span style="COLOR: rgb(163,21,21)"&gt;ScriptReference&lt;/span&gt; &lt;span style="COLOR: rgb(255,0,0)"&gt;Path&lt;/span&gt;&lt;span style="COLOR: rgb(0,0,255)"&gt;="~/Test/PageRequestManagerEx.js"&lt;/span&gt; &lt;span style="COLOR: rgb(0,0,255)"&gt;/&amp;gt;
&lt;/span&gt;            &lt;span style="COLOR: rgb(0,0,255)"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="COLOR: rgb(163,21,21)"&gt;Scripts&lt;/span&gt;&lt;span style="COLOR: rgb(0,0,255)"&gt;&amp;gt;
&lt;/span&gt;        &lt;span style="COLOR: rgb(0,0,255)"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="COLOR: rgb(163,21,21)"&gt;asp&lt;/span&gt;&lt;span style="COLOR: rgb(0,0,255)"&gt;:&lt;/span&gt;&lt;span style="COLOR: rgb(163,21,21)"&gt;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,255)"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR: rgb(163,21,21)"&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"&amp;gt;
&lt;/span&gt;            PageRequestManagerEx.init();
        &lt;span style="COLOR: rgb(0,0,255)"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="COLOR: rgb(163,21,21)"&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,255)"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR: rgb(163,21,21)"&gt;asp&lt;/span&gt;&lt;span style="COLOR: rgb(0,0,255)"&gt;:&lt;/span&gt;&lt;span style="COLOR: rgb(163,21,21)"&gt;UpdatePanel&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;="updDate1"&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;UpdateMode&lt;/span&gt;&lt;span style="COLOR: rgb(0,0,255)"&gt;="Conditional"&amp;gt;
&lt;/span&gt;            &lt;span style="COLOR: rgb(0,0,255)"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR: rgb(163,21,21)"&gt;ContentTemplate&lt;/span&gt;&lt;span style="COLOR: rgb(0,0,255)"&gt;&amp;gt;
&lt;/span&gt;                Update Panel 1: &lt;span style="COLOR: rgb(0,0,255)"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR: rgb(163,21,21)"&gt;asp&lt;/span&gt;&lt;span style="COLOR: rgb(0,0,255)"&gt;:&lt;/span&gt;&lt;span style="COLOR: rgb(163,21,21)"&gt;Label&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;="lblDate1"&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"&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span style="COLOR: rgb(163,21,21)"&gt;asp&lt;/span&gt;&lt;span style="COLOR: rgb(0,0,255)"&gt;:&lt;/span&gt;&lt;span style="COLOR: rgb(163,21,21)"&gt;Label&lt;/span&gt;&lt;span style="COLOR: rgb(0,0,255)"&gt;&amp;gt;
&lt;/span&gt;                &lt;span style="COLOR: rgb(0,0,255)"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR: rgb(163,21,21)"&gt;asp&lt;/span&gt;&lt;span style="COLOR: rgb(0,0,255)"&gt;:&lt;/span&gt;&lt;span style="COLOR: rgb(163,21,21)"&gt;Button&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;="btnDate1"&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;Text&lt;/span&gt;&lt;span style="COLOR: rgb(0,0,255)"&gt;="Update Time"&lt;/span&gt; &lt;span style="COLOR: rgb(255,0,0)"&gt;OnClick&lt;/span&gt;&lt;span style="COLOR: rgb(0,0,255)"&gt;="btnDate1_Click"&lt;/span&gt; &lt;span style="COLOR: rgb(0,0,255)"&gt;/&amp;gt;
&lt;/span&gt;            &lt;span style="COLOR: rgb(0,0,255)"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="COLOR: rgb(163,21,21)"&gt;ContentTemplate&lt;/span&gt;&lt;span style="COLOR: rgb(0,0,255)"&gt;&amp;gt;
&lt;/span&gt;        &lt;span style="COLOR: rgb(0,0,255)"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="COLOR: rgb(163,21,21)"&gt;asp&lt;/span&gt;&lt;span style="COLOR: rgb(0,0,255)"&gt;:&lt;/span&gt;&lt;span style="COLOR: rgb(163,21,21)"&gt;UpdatePanel&lt;/span&gt;&lt;span style="COLOR: rgb(0,0,255)"&gt;&amp;gt;
&lt;/span&gt;        &lt;span style="COLOR: rgb(0,0,255)"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR: rgb(163,21,21)"&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,255)"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR: rgb(163,21,21)"&gt;asp&lt;/span&gt;&lt;span style="COLOR: rgb(0,0,255)"&gt;:&lt;/span&gt;&lt;span style="COLOR: rgb(163,21,21)"&gt;UpdatePanel&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;="updDate2"&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;UpdateMode&lt;/span&gt;&lt;span style="COLOR: rgb(0,0,255)"&gt;="Conditional"&lt;/span&gt; &lt;span style="COLOR: rgb(255,0,0)"&gt;RenderMode&lt;/span&gt;&lt;span style="COLOR: rgb(0,0,255)"&gt;="Inline"&amp;gt;
&lt;/span&gt;                &lt;span style="COLOR: rgb(0,0,255)"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR: rgb(163,21,21)"&gt;ContentTemplate&lt;/span&gt;&lt;span style="COLOR: rgb(0,0,255)"&gt;&amp;gt;
&lt;/span&gt;                    Update Panel 2: &lt;span style="COLOR: rgb(0,0,255)"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR: rgb(163,21,21)"&gt;asp&lt;/span&gt;&lt;span style="COLOR: rgb(0,0,255)"&gt;:&lt;/span&gt;&lt;span style="COLOR: rgb(163,21,21)"&gt;Label&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;="lblDate2"&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"&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span style="COLOR: rgb(163,21,21)"&gt;asp&lt;/span&gt;&lt;span style="COLOR: rgb(0,0,255)"&gt;:&lt;/span&gt;&lt;span style="COLOR: rgb(163,21,21)"&gt;Label&lt;/span&gt;&lt;span style="COLOR: rgb(0,0,255)"&gt;&amp;gt;
&lt;/span&gt;                    &lt;span style="COLOR: rgb(0,0,255)"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR: rgb(163,21,21)"&gt;asp&lt;/span&gt;&lt;span style="COLOR: rgb(0,0,255)"&gt;:&lt;/span&gt;&lt;span style="COLOR: rgb(163,21,21)"&gt;Button&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;="btnDate2"&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;Text&lt;/span&gt;&lt;span style="COLOR: rgb(0,0,255)"&gt;="Update Time"&lt;/span&gt; &lt;span style="COLOR: rgb(255,0,0)"&gt;OnClick&lt;/span&gt;&lt;span style="COLOR: rgb(0,0,255)"&gt;="btnDate2_Click"&lt;/span&gt; &lt;span style="COLOR: rgb(0,0,255)"&gt;/&amp;gt;
&lt;/span&gt;                &lt;span style="COLOR: rgb(0,0,255)"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="COLOR: rgb(163,21,21)"&gt;ContentTemplate&lt;/span&gt;&lt;span style="COLOR: rgb(0,0,255)"&gt;&amp;gt;
&lt;/span&gt;            &lt;span style="COLOR: rgb(0,0,255)"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="COLOR: rgb(163,21,21)"&gt;asp&lt;/span&gt;&lt;span style="COLOR: rgb(0,0,255)"&gt;:&lt;/span&gt;&lt;span style="COLOR: rgb(163,21,21)"&gt;UpdatePanel&lt;/span&gt;&lt;span style="COLOR: rgb(0,0,255)"&gt;&amp;gt;
&lt;/span&gt;        &lt;span style="COLOR: rgb(0,0,255)"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="COLOR: rgb(163,21,21)"&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,255)"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="COLOR: rgb(163,21,21)"&gt;form&lt;/span&gt;&lt;span style="COLOR: rgb(0,0,255)"&gt;&amp;gt;
&amp;lt;/&lt;/span&gt;&lt;span style="COLOR: rgb(163,21,21)"&gt;body&lt;/span&gt