﻿<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:blogChannel="http://backend.userland.com/blogChannelModule" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:pingback="http://madskills.com/public/xml/rss/module/pingback/" 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:geo="http://www.w3.org/2003/01/geo/wgs84_pos#">
  <channel>
    <title>wallace breza blog</title>
    <description>Ramblings of a .NET Developer</description>
    <link>http://www.afteredge.com/blog/</link>
    <docs>http://www.rssboard.org/rss-specification</docs>
    <generator>BlogEngine.NET 1.6.1.0</generator>
    <language>en-US</language>
    <blogChannel:blogRoll>http://www.afteredge.com/blog/opml.axd</blogChannel:blogRoll>
    <dc:creator>Wallace Breza</dc:creator>
    <dc:title>wallace breza blog</dc:title>
    <geo:lat>0.000000</geo:lat>
    <geo:long>0.000000</geo:long>
    <item>
      <title>Development Workstation on a Budget</title>
      <description>&lt;p&gt;I haven't built a PC from scratch in quite some time but I have gotten tired of working on my laptop and decided it was time to build a new development workstation.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Around the same time that &lt;a title="Scott Hanselman" href="http://www.hanselman.com/blog/UltimateDeveloperPC20Part3UPDATEOnBuildingAWEI79AndRFCForBuildingAGOMGodsOwnMachine.aspx" target="_blank"&gt;Scott Hanselman&lt;/a&gt; was building his &amp;ldquo;Ultimate&amp;rdquo; developer PC I was building my &amp;ldquo;Premium&amp;rdquo; developer PC if you are going off of Visual Studio SKU names.&amp;nbsp; I didn&amp;rsquo;t want to break the bank and put down $3k like Scott.&amp;nbsp; My target was to build the best workstation I could for less than $2000.&lt;/p&gt;
&lt;p&gt;I typically run many programs at the same time and often enough have some virtual machine running as well.&amp;nbsp; It was important for me to have enough RAM and CPU power to run all the apps required on a daily basis.&lt;/p&gt;
&lt;h3&gt;Goals&lt;/h3&gt;
&lt;ol&gt;
&lt;li&gt;Multi Core &amp;ndash; Looking for minimum Quad core, but really want to go Hexa core (6 Core) &lt;/li&gt;
&lt;li&gt;Lots of RAM (Minimum 8GB) &lt;/li&gt;
&lt;li&gt;Fast hard drives (Sata III, SSD for boot, 7200rpm for data) &lt;/li&gt;
&lt;li&gt;Storage space (Raid 0 1TB) &lt;/li&gt;
&lt;li&gt;Decent graphics to support multiple monitors (Dual DVI + 1GB) &lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;/p&gt;
&lt;h3&gt;Parts&lt;/h3&gt;
&lt;p&gt;Here is a list of the parts I ended up getting.&amp;nbsp; I ordered everything from &lt;a href="http://www.newegg.com" target="_blank"&gt;newegg.com&lt;/a&gt;&lt;/p&gt;
&lt;table style="width: 615px;" border="0" cellspacing="4" cellpadding="8"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td width="46" valign="top"&gt;
&lt;p align="center"&gt;&lt;strong&gt;#&lt;/strong&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td width="478" valign="top"&gt;
&lt;p align="left"&gt;&lt;strong&gt;Part&lt;/strong&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td width="73" valign="top"&gt;
&lt;p align="center"&gt;&lt;strong&gt;Price&lt;/strong&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width="46" valign="top"&gt;
&lt;p align="center"&gt;1&lt;/p&gt;
&lt;/td&gt;
&lt;td width="477" valign="top"&gt;&lt;a name="CART_ITEM" href="http://www.newegg.com/Product/Product.aspx?Item=N82E16813131655"&gt;ASUS M4A89TD PRO/USB3 AM3 AMD 890FX SATA 6Gb/s USB 3.0 ATX AMD Motherboard&lt;/a&gt;&lt;/td&gt;
&lt;td width="73" valign="top"&gt;
&lt;p align="center"&gt;$184.99&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width="46" valign="top"&gt;
&lt;p align="center"&gt;1&lt;/p&gt;
&lt;/td&gt;
&lt;td width="475" valign="top"&gt;&lt;a name="CART_ITEM" href="http://www.newegg.com/Product/Product.aspx?Item=N82E16820227541"&gt;OCZ Reaper Edition 8GB (2 x 4GB) 240-Pin DDR3 SDRAM DDR3 1333 (PC3 10666) Desktop Memory Model OCZ3RPR1333C9LV8GK&lt;/a&gt;&lt;/td&gt;
&lt;td width="73" valign="top"&gt;
&lt;p align="center"&gt;$244.99&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width="46" valign="top"&gt;
&lt;p align="center"&gt;1&lt;/p&gt;
&lt;/td&gt;
&lt;td width="473" valign="top"&gt;&lt;a name="CART_ITEM" href="http://www.newegg.com/Product/Product.aspx?Item=N82E16811119137"&gt;COOLER MASTER RC-690-KKN1-GP Black SECC/ ABS ATX Mid Tower Computer Case&lt;/a&gt;&lt;/td&gt;
&lt;td width="73" valign="top"&gt;
&lt;p align="center"&gt;$69.99&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width="46" valign="top"&gt;
&lt;p align="center"&gt;1&lt;/p&gt;
&lt;/td&gt;
&lt;td width="472" valign="top"&gt;&lt;a name="CART_ITEM" href="http://www.newegg.com/Product/Product.aspx?Item=N82E16814133266"&gt;PNY VCGGTS2501XPB GeForce GTS 250 1GB 256-bit GDDR3 PCI Express 2.0 x16 HDCP Ready SLI Support Video Card&lt;/a&gt;&lt;/td&gt;
&lt;td width="73" valign="top"&gt;
&lt;p align="center"&gt;$129.99&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width="46" valign="top"&gt;
&lt;p align="center"&gt;1&lt;/p&gt;
&lt;/td&gt;
&lt;td width="471" valign="top"&gt;&lt;a name="CART_ITEM" href="http://www.newegg.com/Product/Product.aspx?Item=N82E16819103851"&gt;AMD Phenom II X6 1055T Thuban 2.8GHz Socket AM3 125W Six-Core Desktop Processor HDT55TFBGRBOX&lt;/a&gt;&lt;/td&gt;
&lt;td width="73" valign="top"&gt;
&lt;p align="center"&gt;$199.99&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width="46" valign="top"&gt;
&lt;p align="center"&gt;1&lt;/p&gt;
&lt;/td&gt;
&lt;td width="470" valign="top"&gt;&lt;a name="CART_ITEM" href="http://www.newegg.com/Product/Product.aspx?Item=N82E16817139005"&gt;CORSAIR CMPSU-650TX 650W ATX12V / EPS12V SLI Ready CrossFire Ready 80 PLUS Certified Active PFC Compatible with Core i7 ...&lt;/a&gt;&lt;/td&gt;
&lt;td width="73" valign="top"&gt;
&lt;p align="center"&gt;$89.99&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width="46" valign="top"&gt;
&lt;p align="center"&gt;1&lt;/p&gt;
&lt;/td&gt;
&lt;td width="469" valign="top"&gt;&lt;a name="CART_ITEM" href="http://www.newegg.com/Product/Product.aspx?Item=N82E16820148348"&gt;Crucial RealSSD C300 CTFDDAC128MAG-1G1 2.5" 128GB SATA III MLC Internal Solid State Drive (SSD)&lt;/a&gt;&lt;/td&gt;
&lt;td width="73" valign="top"&gt;
&lt;p align="center"&gt;$369.00&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width="46" valign="top"&gt;
&lt;p align="center"&gt;2&lt;/p&gt;
&lt;/td&gt;
&lt;td width="468" valign="top"&gt;&lt;a name="CART_ITEM" href="http://www.newegg.com/Product/Product.aspx?Item=N82E16822136533"&gt;Western Digital Caviar Black WD1002FAEX 1TB 7200 RPM SATA 6.0Gb/s 3.5" Internal Hard Drive -Bare Drive&lt;/a&gt;&lt;/td&gt;
&lt;td width="73" valign="top"&gt;
&lt;p align="center"&gt;$94.99&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width="45" valign="top"&gt;&amp;nbsp;&lt;/td&gt;
&lt;td width="468" valign="top"&gt;Odds and ends (Cable, thermal paste, etc)&lt;/td&gt;
&lt;td width="73" valign="top"&gt;
&lt;p align="center"&gt;$21.95&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td width="45" valign="top"&gt;&amp;nbsp;&lt;/td&gt;
&lt;td width="467" valign="top"&gt;
&lt;p align="right"&gt;&lt;strong&gt;Sub Total:&lt;/strong&gt;&lt;/p&gt;
&lt;/td&gt;
&lt;td width="73" valign="top"&gt;
&lt;p align="center"&gt;$1500.87&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h3&gt;Build&lt;/h3&gt;
&lt;p&gt;The build went really smooth and I didn&amp;rsquo;t run into any major problems. Even t
&lt;script src="http://www.breza.me/blog/editors/tiny_mce3/themes/advanced/langs/en.js" type="text/javascript"&gt;&lt;/script&gt;
hough my CPU is only a 2.8Ghz chip I was able to overclock it and its been currently running very stable at 3.6Ghz with only stock air cooling and haven't had and lockups or blue screens.&lt;/p&gt;
&lt;h3&gt;Benchmarks&lt;/h3&gt;
&lt;p&gt;I haven&amp;rsquo;t benched marked many things, but everything is screaming fast compared to my old Core 2 Duo laptop.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h4&gt;Windows Experience Index (WEI)&lt;/h4&gt;
&lt;p&gt;I ended up with 7.6&amp;rsquo;s across the board but ended up with only 7.0 for graphics.&amp;nbsp; That&amp;rsquo;s fine by me.&amp;nbsp; I&amp;rsquo;m not a big gamer and don&amp;rsquo;t need any crazy card.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.afteredge.com/blog/image.axd?picture=image.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; margin: 0px 10px 0px 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" src="http://www.afteredge.com/blog/image.axd?picture=image_thumb.png" border="0" alt="image" width="244" height="183" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h5&gt;&amp;nbsp;&lt;/h5&gt;
&lt;h4&gt;Crystal Disk Mark&lt;/h4&gt;
&lt;p&gt;The performance on the SSD is looking great so far.&amp;nbsp; Blows the doors off my old 7200rpm drives.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.afteredge.com/blog/image.axd?picture=clip_image002.jpg"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="clip_image002" src="http://www.afteredge.com/blog/image.axd?picture=clip_image002_thumb.jpg" border="0" alt="clip_image002" width="244" height="222" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h3&gt;Wrap up&lt;/h3&gt;
&lt;p&gt;I&amp;rsquo;m really happy with the way things turned out and I think going with AMD really saved me some big $$.&amp;nbsp; Being able to build this type of workstation for around $1,500 is a really great bargain in my opinion.&lt;/p&gt;
&lt;p&gt;I&amp;rsquo;m interested in what you think of my components.&amp;nbsp; What would you have done different without spending too much more?&lt;/p&gt;</description>
      <link>http://www.afteredge.com/blog/post/Development-Workstation-2010.aspx</link>
      <author>wallace</author>
      <comments>http://www.afteredge.com/blog/post/Development-Workstation-2010.aspx#comment</comments>
      <guid>http://www.afteredge.com/blog/post.aspx?id=9f82c0e1-fa26-4460-854a-6f6854d66bd1</guid>
      <pubDate>Wed, 01 Sep 2010 14:45:00 -0700</pubDate>
      <category>Hardware</category>
      <dc:publisher>wallace</dc:publisher>
      <pingback:server>http://www.afteredge.com/blog/pingback.axd</pingback:server>
      <pingback:target>http://www.afteredge.com/blog/post.aspx?id=9f82c0e1-fa26-4460-854a-6f6854d66bd1</pingback:target>
      <slash:comments>175</slash:comments>
      <trackback:ping>http://www.afteredge.com/blog/trackback.axd?id=9f82c0e1-fa26-4460-854a-6f6854d66bd1</trackback:ping>
      <wfw:comment>http://www.afteredge.com/blog/post/Development-Workstation-2010.aspx#comment</wfw:comment>
      <wfw:commentRss>http://www.afteredge.com/blog/syndication.axd?post=9f82c0e1-fa26-4460-854a-6f6854d66bd1</wfw:commentRss>
    </item>
    <item>
      <title>Update your Droid Incredible to Froyo (Android 2.2)</title>
      <description>&lt;p&gt;Recently Verizon Wireless finally announced that the Droid Incredible would receive an update to bring it up to Android 2.2 (Froyo).&amp;nbsp; The OTA update started rolling out on Friday, Aug. 27 but I wasn&amp;rsquo;t one of the fortunate ones to get it.&amp;nbsp; And as of this afternoon I still haven&amp;rsquo;t received it. Every couple hours I would catch myself manually checking for the update and I was disappointed each time.&amp;nbsp; I was getting impatient and didn&amp;rsquo;t want to wait anymore.&lt;/p&gt;
&lt;p&gt;Someone was finally able to track down the OTA &lt;a href="http://android.clients.google.com/packages/ota/verizon_incredible/8e5ad8d6ea2d.OTA_IncredibleC_Verizon_WWE_3.21.605.1_1.22.605.2_release_sign.zip"&gt;url&lt;/a&gt; and &lt;a href="http://www.androidcentral.com" target="_blank"&gt;Android Central&lt;/a&gt; posted a quick &lt;a href="http://www.androidcentral.com/how-manually-update-your-incredible-froyo" target="_blank"&gt;tutorial&lt;/a&gt; on how to manually download the update package and update the phone.&amp;nbsp; I was a little hesitant at first but once I saw that update url was coming down directly from Google I felt better.&lt;/p&gt;
&lt;p&gt;The upgrade went very smooth and so far have no complaints.&amp;nbsp; I haven&amp;rsquo;t noticed much speed improvement, but some of the new features are looking promising.&lt;/p&gt;
&lt;p&gt;&lt;img src="http://images.androidcentral.com/sites/androidcentral.com/files/articleimage/9274/2010/08/htc_droid_incredible_froyo.jpg" alt="Dinc Froyo" /&gt;&lt;/p&gt;</description>
      <link>http://www.afteredge.com/blog/post/Update-your-Droid-Incredible-to-Froyo-(Android-22).aspx</link>
      <author>wallace</author>
      <comments>http://www.afteredge.com/blog/post/Update-your-Droid-Incredible-to-Froyo-(Android-22).aspx#comment</comments>
      <guid>http://www.afteredge.com/blog/post.aspx?id=3afd8b22-e08e-4456-975a-f4849f059585</guid>
      <pubDate>Wed, 01 Sep 2010 01:14:00 -0700</pubDate>
      <dc:publisher>wallace</dc:publisher>
      <pingback:server>http://www.afteredge.com/blog/pingback.axd</pingback:server>
      <pingback:target>http://www.afteredge.com/blog/post.aspx?id=3afd8b22-e08e-4456-975a-f4849f059585</pingback:target>
      <slash:comments>30</slash:comments>
      <trackback:ping>http://www.afteredge.com/blog/trackback.axd?id=3afd8b22-e08e-4456-975a-f4849f059585</trackback:ping>
      <wfw:comment>http://www.afteredge.com/blog/post/Update-your-Droid-Incredible-to-Froyo-(Android-22).aspx#comment</wfw:comment>
      <wfw:commentRss>http://www.afteredge.com/blog/syndication.axd?post=3afd8b22-e08e-4456-975a-f4849f059585</wfw:commentRss>
    </item>
    <item>
      <title>Trying to get back into blogging…</title>
      <description>&lt;p&gt;I&amp;rsquo;m going to make another attempt to start blogging again.&amp;nbsp; This time around I&amp;rsquo;m just going to try post things that I find useful and not make posts long and drawn out.&lt;/p&gt;
&lt;p&gt;If people find it useful then great, otherwise I&amp;rsquo;ll just have some resources to go back to when I need to reference something I&amp;rsquo;ve done in the past.&lt;/p&gt;
&lt;p&gt;Right now I'm just using this theme that I found, but once I have a little more time I plan on creating a custom design.&lt;/p&gt;
&lt;p&gt;Wish me luck!&lt;/p&gt;</description>
      <link>http://www.afteredge.com/blog/post/Trying-to-get-back-into-blogginge280a6.aspx</link>
      <author>wallace</author>
      <comments>http://www.afteredge.com/blog/post/Trying-to-get-back-into-blogginge280a6.aspx#comment</comments>
      <guid>http://www.afteredge.com/blog/post.aspx?id=6d4b1bad-6bca-4836-a12d-687549b05b41</guid>
      <pubDate>Wed, 01 Sep 2010 01:01:00 -0700</pubDate>
      <dc:publisher>wallace</dc:publisher>
      <pingback:server>http://www.afteredge.com/blog/pingback.axd</pingback:server>
      <pingback:target>http://www.afteredge.com/blog/post.aspx?id=6d4b1bad-6bca-4836-a12d-687549b05b41</pingback:target>
      <slash:comments>11</slash:comments>
      <trackback:ping>http://www.afteredge.com/blog/trackback.axd?id=6d4b1bad-6bca-4836-a12d-687549b05b41</trackback:ping>
      <wfw:comment>http://www.afteredge.com/blog/post/Trying-to-get-back-into-blogginge280a6.aspx#comment</wfw:comment>
      <wfw:commentRss>http://www.afteredge.com/blog/syndication.axd?post=6d4b1bad-6bca-4836-a12d-687549b05b41</wfw:commentRss>
    </item>
    <item>
      <title>UpdatePanel Extender for ASP.NET AJAX</title>
      <description>&lt;p&gt;This control is now available from my CodePlex project @ &lt;a href="http://www.codeplex.com/AspNetAjaxControls"&gt;&lt;span style="color: #ff7700;"&gt;http://www.codeplex.com/AspNetAjaxControls&lt;/span&gt;&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;The following question has been raised many times: How can I force an UpdatePanel to postback from client-side JavaScript?&amp;nbsp; The most common answers I&amp;rsquo;ve seen include using invisible server-side web controls within an UpdatePanel, and calling __doPostback() with the UpdatePanel&amp;rsquo;s ClientID as the postback target.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Both of the above answers definitely work, but they don&amp;rsquo;t seem to be an elegant solution and they don&amp;rsquo;t provide the additional functionality that developers typically require.&lt;/p&gt;
&lt;p&gt;I set out to provide the following functionality in my solution:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;div&gt;Create an ASP.NET AJAX Extender control to encapsulate the UpdatePanel extensions.&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;Provide an easy to use client-side function to initiate the postback. &lt;/li&gt;
&lt;li&gt;Provide a server-side &amp;ldquo;Command&amp;rdquo; event to allow the developers flexibility once the UpdatePanel postback occurs. &lt;/li&gt;
&lt;li&gt;Expose client-side events during the lifecycle of the UpdatePanel postback. &lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;br /&gt;The UpdatePanelExtender defines the following properties on both the client and the server:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;div&gt;&lt;strong&gt;TargetControlID&lt;/strong&gt; &amp;ndash; Standard ControlID to link the extender with the UpdatePanel.&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;&lt;strong&gt;CommandArgument&lt;/strong&gt; &amp;ndash; An optional argument to be passed during the UpdatePanel postback.&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;&lt;strong&gt;CausesValidation&lt;/strong&gt; &amp;ndash; Whether or not the client-side postback call triggers ASP.NET validation prior to the postback.&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;&lt;strong&gt;ValidationGroup&lt;/strong&gt; &amp;ndash; The ASP.NET validation group to use during validation.&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;&lt;strong&gt;ClientEvents&lt;/strong&gt; &amp;ndash; Collection of events to wire-up during the UpdatePanel postback.&lt;/div&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;br /&gt;All of the properties can be manipulated on the client using the standard ASP.NET AJAX client-side syntax.&lt;/p&gt;
&lt;p&gt;&lt;span style="color: #0000ff; font-size: x-small;"&gt;&lt;span style="color: #0000ff; font-size: x-small;"&gt;
&lt;p&gt;&lt;span style="font-family: 'courier new', courier;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="font-family: 'courier new', courier;"&gt;&lt;span style="color: #a31515; font-size: x-small;"&gt;&lt;span style="color: #a31515; font-size: x-small;"&gt;script&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt; &lt;/span&gt;&lt;span style="color: #ff0000; font-size: x-small;"&gt;&lt;span style="color: #ff0000; font-size: x-small;"&gt;type&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 'courier new', courier;"&gt;&lt;span style="color: #0000ff; font-size: x-small;"&gt;&lt;span style="color: #0000ff; font-size: x-small;"&gt;="text/javascript"&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #0000ff; font-size: x-small;"&gt;&lt;span style="color: #0000ff; font-size: x-small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; function&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 'courier new', courier;"&gt;&lt;span style="font-size: x-small;"&gt; update()&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #0000ff; font-size: x-small;"&gt;&lt;span style="color: #0000ff; font-size: x-small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt; upExtender = $find(&lt;/span&gt;&lt;span style="color: #a31515; font-size: x-small;"&gt;&lt;span style="color: #a31515; font-size: x-small;"&gt;'upe1'&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 'courier new', courier;"&gt;&lt;span style="font-size: x-small;"&gt;);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; upExtender.set_commandArgument(&lt;/span&gt;&lt;span style="color: #a31515; font-size: x-small;"&gt;&lt;span style="color: #a31515; font-size: x-small;"&gt;'Hello World!'&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 'courier new', courier;"&gt;&lt;span style="font-size: x-small;"&gt;);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; upExtender.postback();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #0000ff; font-size: x-small;"&gt;&lt;span style="color: #0000ff; font-size: x-small;"&gt;&amp;lt;/&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #a31515; font-size: x-small;"&gt;&lt;span style="color: #a31515; font-size: x-small;"&gt;script&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #0000ff; font-size: x-small;"&gt;&lt;span style="color: #0000ff; font-size: x-small;"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;The $find() syntax for getting a reference to the extender control is optional.&amp;nbsp; I chose to create a global client-side variable with the same name as the extenders ClientID during the extenders initialization.&lt;/p&gt;
&lt;p&gt;The common problem that I faced when I wanted to cause an UpdatePanel postback from client-side script is how to manipulate the controls during my postback when there isn&amp;rsquo;t any event to handle.&lt;/p&gt;
&lt;p&gt;To solve this problem I chose to implement a server-side Command event which fires on the server during the UpdatePanel postback.&amp;nbsp; The developer now has the opportunity to handle the event and optionally take advantage of any command argument that may have been passed during the postback.&lt;/p&gt;
&lt;p&gt;&lt;span style="color: #0000ff; font-size: x-small;"&gt;&lt;span style="color: #0000ff; font-size: x-small;"&gt;
&lt;p&gt;&lt;span style="font-family: 'courier new', courier;"&gt;protected&lt;/span&gt;&lt;span style="font-family: 'courier new', courier;"&gt;&lt;span style="font-size: x-small;"&gt; &lt;/span&gt;&lt;span style="color: #0000ff; font-size: x-small;"&gt;&lt;span style="color: #0000ff; font-size: x-small;"&gt;void&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt; upe_Command(&lt;/span&gt;&lt;span style="color: #2b91af; font-size: x-small;"&gt;&lt;span style="color: #2b91af; font-size: x-small;"&gt;Object&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt; sender, &lt;/span&gt;&lt;span style="color: #2b91af; font-size: x-small;"&gt;&lt;span style="color: #2b91af; font-size: x-small;"&gt;CommandEventArgs&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 'courier new', courier;"&gt;&lt;span style="font-size: x-small;"&gt; e)&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; dateTime.Text = &lt;/span&gt;&lt;span style="color: #2b91af; font-size: x-small;"&gt;&lt;span style="color: #2b91af; font-size: x-small;"&gt;String&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt;.Format(&lt;/span&gt;&lt;span style="color: #a31515; font-size: x-small;"&gt;&lt;span style="color: #a31515; font-size: x-small;"&gt;"Date: {0}, CommandArgument: {1}"&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt;, &lt;/span&gt;&lt;span style="color: #2b91af; font-size: x-small;"&gt;&lt;span style="color: #2b91af; font-size: x-small;"&gt;DateTime&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 'courier new', courier;"&gt;&lt;span style="font-size: x-small;"&gt;.Now, e.CommandArgument);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; dateTime2.Text = &lt;/span&gt;&lt;span style="color: #2b91af; font-size: x-small;"&gt;&lt;span style="color: #2b91af; font-size: x-small;"&gt;String&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt;.Format(&lt;/span&gt;&lt;span style="color: #a31515; font-size: x-small;"&gt;&lt;span style="color: #a31515; font-size: x-small;"&gt;"Date: {0}, CommandArgument: {1}"&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt;, &lt;/span&gt;&lt;span style="color: #2b91af; font-size: x-small;"&gt;&lt;span style="color: #2b91af; font-size: x-small;"&gt;DateTime&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt;&lt;span style="font-family: 'courier new', courier;"&gt;.Now, e.CommandArgument);&lt;br /&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;The client-side events that are exposed within the extender come directly from the Sys.WebForms.PageRequestManager Class, but only those pertaining to the extenders UpdatePanel will fire.&amp;nbsp; This allows you to include multiple UpdatePanels, each with their individual extender control and event handlers.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;div&gt;&lt;strong&gt;initializeRequest&lt;/strong&gt; - Raised during the initialization of the asynchronous postback.&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;&lt;strong&gt;beginRequest&lt;/strong&gt; - Raised before processing of an asynchronous postback starts and the postback request is sent to the server.&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;&lt;strong&gt;pageLoading&lt;/strong&gt; - Raised after the response from the server to an asynchronous postback is received but before any content on the page is updated.&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;&lt;strong&gt;pageLoaded&lt;/strong&gt; - Raised after all content on the page is refreshed as the result of either a synchronous or an asynchronous postback.&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;div&gt;&lt;strong&gt;endRequest&lt;/strong&gt; - Raised after an asynchronous postback is finished and control has been returned to the browser.&lt;/div&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;br /&gt;In &lt;a title="UpdatePanelExtender Sample" href="http://www.afteredge.com/samples/UpdatePanelExtender/WebForm1.aspx" target="_blank"&gt;sample 1&lt;/a&gt;, two UpdatePanels have been added to a page each with an UpdatePanelExtender control.&lt;/p&gt;
&lt;p&gt;&lt;span style="color: #0000ff; font-size: x-small;"&gt;&lt;span style="color: #0000ff; font-size: x-small;"&gt;
&lt;p&gt;&lt;span style="font-family: 'courier new', courier;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="font-family: 'courier new', courier;"&gt;&lt;span style="color: #a31515; font-size: x-small;"&gt;&lt;span style="color: #a31515; font-size: x-small;"&gt;ae&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #0000ff; font-size: x-small;"&gt;&lt;span style="color: #0000ff; font-size: x-small;"&gt;:&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #a31515; font-size: x-small;"&gt;&lt;span style="color: #a31515; font-size: x-small;"&gt;UpdatePanelExtender&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt; &lt;/span&gt;&lt;span style="color: #ff0000; font-size: x-small;"&gt;&lt;span style="color: #ff0000; font-size: x-small;"&gt;ID&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #0000ff; font-size: x-small;"&gt;&lt;span style="color: #0000ff; font-size: x-small;"&gt;="upe1"&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt; &lt;/span&gt;&lt;span style="color: #ff0000; font-size: x-small;"&gt;&lt;span style="color: #ff0000; font-size: x-small;"&gt;TargetControlID&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #0000ff; font-size: x-small;"&gt;&lt;span style="color: #0000ff; font-size: x-small;"&gt;="up1"&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt; &lt;/span&gt;&lt;span style="color: #ff0000; font-size: x-small;"&gt;&lt;span style="color: #ff0000; font-size: x-small;"&gt;OnCommand&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #0000ff; font-size: x-small;"&gt;&lt;span style="color: #0000ff; font-size: x-small;"&gt;="upe_Command"&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt; &lt;/span&gt;&lt;span style="color: #ff0000; font-size: x-small;"&gt;&lt;span style="color: #ff0000; font-size: x-small;"&gt;runat&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 'courier new', courier;"&gt;&lt;span style="color: #0000ff; font-size: x-small;"&gt;&lt;span style="color: #0000ff; font-size: x-small;"&gt;="server"&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #0000ff; font-size: x-small;"&gt;&lt;span style="color: #0000ff; font-size: x-small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #a31515; font-size: x-small;"&gt;&lt;span style="color: #a31515; font-size: x-small;"&gt;ClientEvents&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 'courier new', courier;"&gt;&lt;span style="color: #0000ff; font-size: x-small;"&gt;&lt;span style="color: #0000ff; font-size: x-small;"&gt;&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #0000ff; font-size: x-small;"&gt;&lt;span style="color: #0000ff; font-size: x-small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #a31515; font-size: x-small;"&gt;&lt;span style="color: #a31515; font-size: x-small;"&gt;BeginRequest&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt; &lt;/span&gt;&lt;span style="color: #ff0000; font-size: x-small;"&gt;&lt;span style="color: #ff0000; font-size: x-small;"&gt;EventHandler&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #0000ff; font-size: x-small;"&gt;&lt;span style="color: #0000ff; font-size: x-small;"&gt;="beginRequest"&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 'courier new', courier;"&gt;&lt;span style="color: #0000ff; font-size: x-small;"&gt;&lt;span style="color: #0000ff; font-size: x-small;"&gt;/&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #0000ff; font-size: x-small;"&gt;&lt;span style="color: #0000ff; font-size: x-small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #a31515; font-size: x-small;"&gt;&lt;span style="color: #a31515; font-size: x-small;"&gt;InitializeRequest&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt; &lt;/span&gt;&lt;span style="color: #ff0000; font-size: x-small;"&gt;&lt;span style="color: #ff0000; font-size: x-small;"&gt;EventHandler&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #0000ff; font-size: x-small;"&gt;&lt;span style="color: #0000ff; font-size: x-small;"&gt;="initializeRequest"&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 'courier new', courier;"&gt;&lt;span style="color: #0000ff; font-size: x-small;"&gt;&lt;span style="color: #0000ff; font-size: x-small;"&gt;/&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #0000ff; font-size: x-small;"&gt;&lt;span style="color: #0000ff; font-size: x-small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #a31515; font-size: x-small;"&gt;&lt;span style="color: #a31515; font-size: x-small;"&gt;PageLoading&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt; &lt;/span&gt;&lt;span style="color: #ff0000; font-size: x-small;"&gt;&lt;span style="color: #ff0000; font-size: x-small;"&gt;EventHandler&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #0000ff; font-size: x-small;"&gt;&lt;span style="color: #0000ff; font-size: x-small;"&gt;="pageLoading"&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 'courier new', courier;"&gt;&lt;span style="color: #0000ff; font-size: x-small;"&gt;&lt;span style="color: #0000ff; font-size: x-small;"&gt;/&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #0000ff; font-size: x-small;"&gt;&lt;span style="color: #0000ff; font-size: x-small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #a31515; font-size: x-small;"&gt;&lt;span style="color: #a31515; font-size: x-small;"&gt;PageLoaded&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt; &lt;/span&gt;&lt;span style="color: #ff0000; font-size: x-small;"&gt;&lt;span style="color: #ff0000; font-size: x-small;"&gt;EventHandler&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #0000ff; font-size: x-small;"&gt;&lt;span style="color: #0000ff; font-size: x-small;"&gt;="pageLoaded"&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 'courier new', courier;"&gt;&lt;span style="color: #0000ff; font-size: x-small;"&gt;&lt;span style="color: #0000ff; font-size: x-small;"&gt;/&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #0000ff; font-size: x-small;"&gt;&lt;span style="color: #0000ff; font-size: x-small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #a31515; font-size: x-small;"&gt;&lt;span style="color: #a31515; font-size: x-small;"&gt;EndRequest&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt; &lt;/span&gt;&lt;span style="color: #ff0000; font-size: x-small;"&gt;&lt;span style="color: #ff0000; font-size: x-small;"&gt;EventHandler&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #0000ff; font-size: x-small;"&gt;&lt;span style="color: #0000ff; font-size: x-small;"&gt;="endRequest"&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 'courier new', courier;"&gt;&lt;span style="color: #0000ff; font-size: x-small;"&gt;&lt;span style="color: #0000ff; font-size: x-small;"&gt;/&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #0000ff; font-size: x-small;"&gt;&lt;span style="color: #0000ff; font-size: x-small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #a31515; font-size: x-small;"&gt;&lt;span style="color: #a31515; font-size: x-small;"&gt;ClientEvents&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 'courier new', courier;"&gt;&lt;span style="color: #0000ff; font-size: x-small;"&gt;&lt;span style="color: #0000ff; font-size: x-small;"&gt;&amp;gt;&lt;br /&gt;&amp;lt;/&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #a31515; font-size: x-small;"&gt;&lt;span style="color: #a31515; font-size: x-small;"&gt;ae&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #0000ff; font-size: x-small;"&gt;&lt;span style="color: #0000ff; font-size: x-small;"&gt;:&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #a31515; font-size: x-small;"&gt;&lt;span style="color: #a31515; font-size: x-small;"&gt;UpdatePanelExtender&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #0000ff; font-size: x-small;"&gt;&lt;span style="color: #0000ff; font-size: x-small;"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #0000ff; font-size: x-small;"&gt;&lt;span style="color: #0000ff; font-size: x-small;"&gt;&lt;span style="color: #0000ff; font-size: x-small;"&gt;&lt;span style="color: #0000ff; font-size: x-small;"&gt;
&lt;p&gt;&lt;span style="font-family: 'courier new', courier;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="font-family: 'courier new', courier;"&gt;&lt;span style="color: #a31515; font-size: x-small;"&gt;&lt;span style="color: #a31515; font-size: x-small;"&gt;asp&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #0000ff; font-size: x-small;"&gt;&lt;span style="color: #0000ff; font-size: x-small;"&gt;:&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #a31515; font-size: x-small;"&gt;&lt;span style="color: #a31515; font-size: x-small;"&gt;UpdatePanel&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #000000; font-size: x-small;"&gt; &lt;/span&gt;&lt;span style="color: #ff0000; font-size: x-small;"&gt;&lt;span style="color: #ff0000; font-size: x-small;"&gt;ID&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #0000ff; font-size: x-small;"&gt;&lt;span style="color: #0000ff; font-size: x-small;"&gt;="up1"&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #000000; font-size: x-small;"&gt; &lt;/span&gt;&lt;span style="color: #ff0000; font-size: x-small;"&gt;&lt;span style="color: #ff0000; font-size: x-small;"&gt;UpdateMode&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #0000ff; font-size: x-small;"&gt;&lt;span style="color: #0000ff; font-size: x-small;"&gt;="Conditional"&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #000000; font-size: x-small;"&gt; &lt;/span&gt;&lt;span style="color: #ff0000; font-size: x-small;"&gt;&lt;span style="color: #ff0000; font-size: x-small;"&gt;runat&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 'courier new', courier;"&gt;&lt;span style="color: #0000ff; font-size: x-small;"&gt;&lt;span style="color: #0000ff; font-size: x-small;"&gt;="server"&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #0000ff; font-size: x-small;"&gt;&lt;span style="color: #0000ff; font-size: x-small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #a31515; font-size: x-small;"&gt;&lt;span style="color: #a31515; font-size: x-small;"&gt;ContentTemplate&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 'courier new', courier;"&gt;&lt;span style="color: #0000ff; font-size: x-small;"&gt;&lt;span style="color: #0000ff; font-size: x-small;"&gt;&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #0000ff; font-size: x-small;"&gt;&lt;span style="color: #0000ff; font-size: x-small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #a31515; font-size: x-small;"&gt;&lt;span style="color: #a31515; font-size: x-small;"&gt;asp&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #0000ff; font-size: x-small;"&gt;&lt;span style="color: #0000ff; font-size: x-small;"&gt;:&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #a31515; font-size: x-small;"&gt;&lt;span style="color: #a31515; font-size: x-small;"&gt;Label&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt; &lt;/span&gt;&lt;span style="color: #ff0000; font-size: x-small;"&gt;&lt;span style="color: #ff0000; font-size: x-small;"&gt;ID&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #0000ff; font-size: x-small;"&gt;&lt;span style="color: #0000ff; font-size: x-small;"&gt;="dateTime"&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt; &lt;/span&gt;&lt;span style="color: #ff0000; font-size: x-small;"&gt;&lt;span style="color: #ff0000; font-size: x-small;"&gt;runat&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #0000ff; font-size: x-small;"&gt;&lt;span style="color: #0000ff; font-size: x-small;"&gt;="server"&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 'courier new', courier;"&gt;&lt;span style="color: #0000ff; font-size: x-small;"&gt;&lt;span style="color: #0000ff; font-size: x-small;"&gt;/&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #0000ff; font-size: x-small;"&gt;&lt;span style="color: #0000ff; font-size: x-small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #a31515; font-size: x-small;"&gt;&lt;span style="color: #a31515; font-size: x-small;"&gt;ContentTemplate&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 'courier new', courier;"&gt;&lt;span style="color: #0000ff; font-size: x-small;"&gt;&lt;span style="color: #0000ff; font-size: x-small;"&gt;&amp;gt;&lt;br /&gt;&amp;lt;/&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #a31515; font-size: x-small;"&gt;&lt;span style="color: #a31515; font-size: x-small;"&gt;asp&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #0000ff; font-size: x-small;"&gt;&lt;span style="color: #0000ff; font-size: x-small;"&gt;:&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #a31515; font-size: x-small;"&gt;&lt;span style="color: #a31515; font-size: x-small;"&gt;UpdatePanel&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #0000ff; font-size: x-small;"&gt;&lt;span style="color: #0000ff; font-size: x-small;"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;I hope you&amp;rsquo;ve enjoyed reading about this control and some of its common uses.&amp;nbsp; Please feel free to contact me if you have any questions or comments.&amp;nbsp; I have also included the binary and source for this control as a download to this post.&lt;/p&gt;
&lt;p&gt;Happy programming.&amp;nbsp;&lt;/p&gt;
&amp;nbsp;</description>
      <link>http://www.afteredge.com/blog/post/UpdatePanel-Extender-for-ASPNET-AJAX.aspx</link>
      <author>wallace</author>
      <comments>http://www.afteredge.com/blog/post/UpdatePanel-Extender-for-ASPNET-AJAX.aspx#comment</comments>
      <guid>http://www.afteredge.com/blog/post.aspx?id=d5ed788c-fa0e-4c8c-9ff1-c182ae437b7b</guid>
      <pubDate>Wed, 30 Apr 2008 21:53:00 -0700</pubDate>
      <category>AJAX</category>
      <category>ASP.NET</category>
      <category>Custom Controls</category>
      <dc:publisher>wallace</dc:publisher>
      <pingback:server>http://www.afteredge.com/blog/pingback.axd</pingback:server>
      <pingback:target>http://www.afteredge.com/blog/post.aspx?id=d5ed788c-fa0e-4c8c-9ff1-c182ae437b7b</pingback:target>
      <slash:comments>46</slash:comments>
      <trackback:ping>http://www.afteredge.com/blog/trackback.axd?id=d5ed788c-fa0e-4c8c-9ff1-c182ae437b7b</trackback:ping>
      <wfw:comment>http://www.afteredge.com/blog/post/UpdatePanel-Extender-for-ASPNET-AJAX.aspx#comment</wfw:comment>
      <wfw:commentRss>http://www.afteredge.com/blog/syndication.axd?post=d5ed788c-fa0e-4c8c-9ff1-c182ae437b7b</wfw:commentRss>
    </item>
    <item>
      <title>Prompt Control for ASP.NET AJAX</title>
      <description>&lt;p&gt;&lt;strong&gt;UPDATE&lt;/strong&gt;: This control is now available from my CodePlex project @ &lt;a href="http://www.codeplex.com/AspNetAjaxControls"&gt;&lt;span style="color: #ff7700;"&gt;http://www.codeplex.com/AspNetAjaxControls&lt;/span&gt;&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;In this article I set out to breathe new life into the types of alerts, dialogs and prompts that are available to ASP.NET developers.&amp;nbsp; In ASP.NET web development we are typically limited to what the browser can support.&amp;nbsp; I am sure that most of us are very familiar with the JavaScript alert() and confirm() dialogs.&amp;nbsp; They are limited, not customizable, and do not support any rich HTML content.&lt;/p&gt;
&lt;p&gt;The AJAX Control Toolkit introduced a few extender controls such as the &amp;ldquo;ModalDialog&amp;rdquo; Extender and the &amp;ldquo;ConfirmButton&amp;rdquo; extender.&amp;nbsp; These solved a few of our common issues, but they were still leaving me wanting for more.&amp;nbsp; I&amp;rsquo;ve taken what I&amp;rsquo;ve learned from using the above techniques and encapsulated them into one very extensible and easy to use prompt control for ASP.NET AJAX.&lt;/p&gt;
&lt;p&gt;The prompt control builds upon the ASP.NET AJAX framework and derives from the &amp;ldquo;ScriptControl&amp;rdquo; server-side class and the &amp;ldquo;Sys.UI.Control&amp;rdquo; client-side class.&amp;nbsp; The prompt control also utilizes extender controls with client-side behaviors.&lt;/p&gt;
&lt;p&gt;The Microsoft team did a great job developing the &amp;ldquo;UpdatePanel&amp;rdquo; and thought I would borrow a few ideas from this control.&amp;nbsp; Within the UpdatePanel a developer can setup triggers that would automatically cause an async-postbacks to occur.&amp;nbsp; With these triggers a ControlID and event were required.&amp;nbsp; I took a similar approach with the prompt control but instead of tying into server-side events I am tying into client-side events.&lt;/p&gt;
&lt;p&gt;The prompt includes three default button options. Ok, OkCancel and YesNo.&amp;nbsp; If none of these default implementations suit your needs you can set the ButtonOptions property to &amp;ldquo;Custom&amp;rdquo; and define your own buttons within the &amp;lt;Buttons&amp;gt; section of the prompt control.&lt;/p&gt;
&lt;p class="MsoNormal" style="margin-top: 0in; margin-right: 0in; margin-bottom: 10pt; margin-left: 0in"&gt;In &lt;a title="Sample 1" href="http://www.afteredge.com/samples/prompt/WebForm1.aspx" target="_blank"&gt;Sample 1&lt;/a&gt; I am demonstrating how a prompt can be triggered by capturing client-side events from web controls.&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family: 'courier new', courier;"&gt;&lt;span style="font-size: 10pt; font-family: 'Courier New'"&gt;&lt;span style="color: blue"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;ae&lt;/span&gt;&lt;span style="color: blue"&gt;:&lt;/span&gt;&lt;span style="color: #a31515"&gt;Prompt&lt;/span&gt; &lt;span style="color: red"&gt;ID&lt;/span&gt;&lt;span style="color: blue"&gt;="prompt1"&lt;/span&gt; &lt;span style="color: red"&gt;Title&lt;/span&gt;&lt;span style="color: blue"&gt;="Prompt Sample 1"&lt;/span&gt; &lt;span style="color: red"&gt;Message&lt;/span&gt;&lt;span style="color: blue"&gt;="I am the Prompt sample."&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: 'Courier New'"&gt; &lt;span style="color: red"&gt;ButtonOptions&lt;/span&gt;&lt;span style="color: blue"&gt;="OK"&lt;/span&gt; &lt;span style="color: red"&gt;runat&lt;/span&gt;&lt;span style="color: blue"&gt;="server"&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: 'Courier New'"&gt;&lt;br /&gt;&lt;span style="font-family: 'courier new', courier;"&gt;&lt;span style="color: blue"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;Triggers&lt;/span&gt;&lt;span style="color: blue"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: 'Courier New'"&gt;&lt;br /&gt;&lt;span style="font-family: 'courier new', courier;"&gt;&lt;span style="color: blue"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;ae&lt;/span&gt;&lt;span style="color: blue"&gt;:&lt;/span&gt;&lt;span style="color: #a31515"&gt;ControlPromptTrigger&lt;/span&gt; &lt;span style="color: red"&gt;ControlID&lt;/span&gt;&lt;span style="color: blue"&gt;="submitButton"&lt;/span&gt; &lt;span style="color: red"&gt;EventName&lt;/span&gt;&lt;span style="color: blue"&gt;="click"&lt;/span&gt; &lt;span style="color: red"&gt;PreventDefault&lt;/span&gt;&lt;span style="color: blue"&gt;="true"&lt;/span&gt; &lt;/span&gt;&lt;span style="font-family: 'courier new', courier;"&gt;/&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 'courier new', courier;"&gt;&lt;span style="color: blue"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;ae&lt;/span&gt;&lt;span style="color: blue"&gt;:&lt;/span&gt;&lt;span style="color: #a31515"&gt;ControlPromptTrigger&lt;/span&gt; &lt;span style="color: red"&gt;ControlID&lt;/span&gt;&lt;span style="color: blue"&gt;="dropDown1"&lt;/span&gt; &lt;span style="color: red"&gt;EventName&lt;/span&gt;&lt;span style="color: blue"&gt;="change"&lt;/span&gt; &lt;span style="color: blue"&gt;/&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: 'Courier New'"&gt;&lt;br /&gt;&lt;span style="font-family: 'courier new', courier;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="font-family: 'courier new', courier;"&gt;&lt;span style="color: blue"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;ae&lt;/span&gt;&lt;span style="color: blue"&gt;:&lt;/span&gt;&lt;span style="color: #a31515"&gt;ControlPromptTrigger&lt;/span&gt; &lt;span style="color: red"&gt;ControlID&lt;/span&gt;&lt;span style="color: blue"&gt;="checkBox1"&lt;/span&gt; &lt;span style="color: red"&gt;EventName&lt;/span&gt;&lt;span style="color: blue"&gt;="click"&lt;/span&gt; &lt;span style="color: blue"&gt;/&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: 'Courier New'"&gt;&lt;br /&gt;&lt;span style="font-family: 'courier new', courier;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="font-family: 'courier new', courier;"&gt;&lt;span style="color: blue"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #a31515"&gt;ae&lt;/span&gt;&lt;span style="color: blue"&gt;:&lt;/span&gt;&lt;span style="color: #a31515"&gt;ControlPromptTrigger&lt;/span&gt; &lt;span style="color: red"&gt;ControlID&lt;/span&gt;&lt;span style="color: blue"&gt;="textBox1"&lt;/span&gt; &lt;span style="color: red"&gt;EventName&lt;/span&gt;&lt;span style="color: blue"&gt;="focus"&lt;/span&gt; &lt;span style="color: blue"&gt;/&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: 'Courier New'"&gt;&lt;br /&gt;&lt;span style="font-family: 'courier new', courier;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="font-family: 'courier new', courier;"&gt;&lt;span style="color: blue"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #a31515"&gt;Triggers&lt;/span&gt;&lt;span style="color: blue"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: 'Courier New'"&gt;&lt;br /&gt;&lt;span style="font-family: 'courier new', courier;"&gt;&lt;span style="color: blue"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #a31515"&gt;ae&lt;/span&gt;&lt;span style="color: blue"&gt;:&lt;/span&gt;&lt;span style="color: #a31515"&gt;Prompt&lt;/span&gt;&lt;span style="color: blue"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin-top: 0in; margin-right: 0in; margin-bottom: 10pt; margin-left: 0in"&gt;&lt;br /&gt;After defining the base prompt properties you can simply set up triggers that are linked to other controls on your ASP.NET page.&amp;nbsp; Within each trigger you must choose which client-side event to wire up to the prompt.&amp;nbsp; Note that these events are not the server-side events that the web controls expose, but the client-side events that their HTML rendering exposes.&amp;nbsp; Also note that we are not specifying the &amp;ldquo;on&amp;rdquo; plus event name.&amp;nbsp; One of the most common triggers would be the &amp;ldquo;click&amp;rdquo; event on a Button control.&lt;/p&gt;
&lt;p class="MsoNormal" style="margin-top: 0in; margin-right: 0in; margin-bottom: 10pt; margin-left: 0in"&gt;The prompt control also contains a rich client-side api for manipulating the prompt client-side, as well as exposing some events that are useful when working with prompts.&amp;nbsp; In &lt;a title="Sample 2" href="http://www.afteredge.com/samples/prompt/WebForm2.aspx" target="_blank"&gt;sample 2&lt;/a&gt; I am demonstrating the &amp;ldquo;buttonSelect&amp;rdquo; event of the prompt control and reacting to the button that the user had selected after the prompt was shown.&lt;/p&gt;
&lt;p&gt;&lt;span style="color: #0000ff; font-size: x-small;"&gt;&lt;span style="color: #0000ff; font-size: x-small;"&gt;
&lt;p&gt;&lt;span style="font-family: 'courier new', courier;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="font-family: 'courier new', courier;"&gt;&lt;span style="color: #a31515; font-size: x-small;"&gt;&lt;span style="color: #a31515; font-size: x-small;"&gt;ae&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #0000ff; font-size: x-small;"&gt;&lt;span style="color: #0000ff; font-size: x-small;"&gt;:&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #a31515; font-size: x-small;"&gt;&lt;span style="color: #a31515; font-size: x-small;"&gt;Prompt&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt; &lt;/span&gt;&lt;span style="color: #ff0000; font-size: x-small;"&gt;&lt;span style="color: #ff0000; font-size: x-small;"&gt;ID&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #0000ff; font-size: x-small;"&gt;&lt;span style="color: #0000ff; font-size: x-small;"&gt;="prompt1"&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt; &lt;/span&gt;&lt;span style="color: #ff0000; font-size: x-small;"&gt;&lt;span style="color: #ff0000; font-size: x-small;"&gt;Title&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #0000ff; font-size: x-small;"&gt;&lt;span style="color: #0000ff; font-size: x-small;"&gt;="Prompt Sample 2"&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt; &lt;/span&gt;&lt;span style="color: #ff0000; font-size: x-small;"&gt;&lt;span style="color: #ff0000; font-size: x-small;"&gt;Message&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #0000ff; font-size: x-small;"&gt;&lt;span style="color: #0000ff; font-size: x-small;"&gt;="I am prompt sample 2."&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt; &lt;/span&gt;&lt;span style="color: #ff0000; font-size: x-small;"&gt;&lt;span style="color: #ff0000; font-size: x-small;"&gt;ButtonOptions&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #0000ff; font-size: x-small;"&gt;&lt;span style="color: #0000ff; font-size: x-small;"&gt;="Custom"&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt; &lt;/span&gt;&lt;span style="color: #ff0000; font-size: x-small;"&gt;&lt;span style="color: #ff0000; font-size: x-small;"&gt;OnCommand&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #0000ff; font-size: x-small;"&gt;&lt;span style="color: #0000ff; font-size: x-small;"&gt;="prompt1_Command"&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt; &lt;/span&gt;&lt;span style="color: #ff0000; font-size: x-small;"&gt;&lt;span style="color: #ff0000; font-size: x-small;"&gt;runat&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 'courier new', courier;"&gt;&lt;span style="color: #0000ff; font-size: x-small;"&gt;&lt;span style="color: #0000ff; font-size: x-small;"&gt;="server"&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #0000ff; font-size: x-small;"&gt;&lt;span style="color: #0000ff; font-size: x-small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #a31515; font-size: x-small;"&gt;&lt;span style="color: #a31515; font-size: x-small;"&gt;ClientEvents&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 'courier new', courier;"&gt;&lt;span style="color: #0000ff; font-size: x-small;"&gt;&lt;span style="color: #0000ff; font-size: x-small;"&gt;&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="color: #0000ff; font-size: x-small;"&gt;&lt;span style="color: #0000ff; font-size: x-small;"&gt;&amp;lt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #a31515; font-size: x-small;"&gt;&lt;span style="color: #a31515; font-size: x-small;"&gt;ButtonSelect&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt; &lt;/span&gt;&lt;span style="color: #ff0000; font-size: x-small;"&gt;&lt;span style="color: #ff0000; font-size: x-small;"&gt;EventHandler&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #0000ff; font-size: x-small;"&gt;&lt;span style="color: #0000ff; font-size: x-small;"&gt;="prompt1_ButtonSelect"&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 'courier new', courier;"&gt;&lt;span style="color: #0000ff; font-size: x-small;"&gt;&lt;span style="color: #0000ff; font-size: x-small;"&gt;/&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="color: #0000ff; font-size: x-small;"&gt;&lt;span style="color: #0000ff; font-size: x-small;"&gt;&amp;lt;/&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #a31515; font-size: x-small;"&gt;&lt;span style="color: #a31515; font-size: x-small;"&gt;ClientEvents&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 'courier new', courier;"&gt;&lt;span style="color: #0000ff; font-size: x-small;"&gt;&lt;span style="color: #0000ff; font-size: x-small;"&gt;&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="color: #0000ff; font-size: x-small;"&gt;&lt;span style="color: #0000ff; font-size: x-small;"&gt;&amp;lt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #a31515; font-size: x-small;"&gt;&lt;span style="color: #a31515; font-size: x-small;"&gt;Triggers&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 'courier new', courier;"&gt;&lt;span style="color: #0000ff; font-size: x-small;"&gt;&lt;span style="color: #0000ff; font-size: x-small;"&gt;&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="color: #0000ff; font-size: x-small;"&gt;&lt;span style="color: #0000ff; font-size: x-small;"&gt;&amp;lt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #a31515; font-size: x-small;"&gt;&lt;span style="color: #a31515; font-size: x-small;"&gt;ae&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #0000ff; font-size: x-small;"&gt;&lt;span style="color: #0000ff; font-size: x-small;"&gt;:&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #a31515; font-size: x-small;"&gt;&lt;span style="color: #a31515; font-size: x-small;"&gt;ControlPromptTrigger&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt; &lt;/span&gt;&lt;span style="color: #ff0000; font-size: x-small;"&gt;&lt;span style="color: #ff0000; font-size: x-small;"&gt;ControlID&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #0000ff; font-size: x-small;"&gt;&lt;span style="color: #0000ff; font-size: x-small;"&gt;="button1"&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt; &lt;/span&gt;&lt;span style="color: #ff0000; font-size: x-small;"&gt;&lt;span style="color: #ff0000; font-size: x-small;"&gt;EventName&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #0000ff; font-size: x-small;"&gt;&lt;span style="color: #0000ff; font-size: x-small;"&gt;="click"&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt; &lt;/span&gt;&lt;span style="color: #ff0000; font-size: x-small;"&gt;&lt;span style="color: #ff0000; font-size: x-small;"&gt;PreventDefault&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #0000ff; font-size: x-small;"&gt;&lt;span style="color: #0000ff; font-size: x-small;"&gt;="true"&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 'courier new', courier;"&gt;&lt;span style="color: #0000ff; font-size: x-small;"&gt;&lt;span style="color: #0000ff; font-size: x-small;"&gt;/&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #0000ff; font-size: x-small;"&gt;&lt;span style="color: #0000ff; font-size: x-small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #a31515; font-size: x-small;"&gt;&lt;span style="color: #a31515; font-size: x-small;"&gt;Triggers&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 'courier new', courier;"&gt;&lt;span style="color: #0000ff; font-size: x-small;"&gt;&lt;span style="color: #0000ff; font-size: x-small;"&gt;&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #0000ff; font-size: x-small;"&gt;&lt;span style="color: #0000ff; font-size: x-small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #a31515; font-size: x-small;"&gt;&lt;span style="color: #a31515; font-size: x-small;"&gt;Buttons&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 'courier new', courier;"&gt;&lt;span style="color: #0000ff; font-size: x-small;"&gt;&lt;span style="color: #0000ff; font-size: x-small;"&gt;&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="color: #0000ff; font-size: x-small;"&gt;&lt;span style="color: #0000ff; font-size: x-small;"&gt;&amp;lt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #a31515; font-size: x-small;"&gt;&lt;span style="color: #a31515; font-size: x-small;"&gt;ae&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #0000ff; font-size: x-small;"&gt;&lt;span style="color: #0000ff; font-size: x-small;"&gt;:&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #a31515; font-size: x-small;"&gt;&lt;span style="color: #a31515; font-size: x-small;"&gt;PromptButton&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt; &lt;/span&gt;&lt;span style="color: #ff0000; font-size: x-small;"&gt;&lt;span style="color: #ff0000; font-size: x-small;"&gt;ID&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #0000ff; font-size: x-small;"&gt;&lt;span style="color: #0000ff; font-size: x-small;"&gt;="yesButton"&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt; &lt;/span&gt;&lt;span style="color: #ff0000; font-size: x-small;"&gt;&lt;span style="color: #ff0000; font-size: x-small;"&gt;CommandArgument&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #0000ff; font-size: x-small;"&gt;&lt;span style="color: #0000ff; font-size: x-small;"&gt;="Yes"&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt; &lt;/span&gt;&lt;span style="color: #ff0000; font-size: x-small;"&gt;&lt;span style="color: #ff0000; font-size: x-small;"&gt;Text&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #0000ff; font-size: x-small;"&gt;&lt;span style="color: #0000ff; font-size: x-small;"&gt;="Yes"&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt; &lt;/span&gt;&lt;span style="color: #ff0000; font-size: x-small;"&gt;&lt;span style="color: #ff0000; font-size: x-small;"&gt;AutoPostBack&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #0000ff; font-size: x-small;"&gt;&lt;span style="color: #0000ff; font-size: x-small;"&gt;="true" &lt;/span&gt;&lt;/span&gt;&lt;span style="color: #ff0000; font-size: x-small;"&gt;&lt;span style="color: #ff0000; font-size: x-small;"&gt;runat&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #0000ff; font-size: x-small;"&gt;&lt;span style="color: #0000ff; font-size: x-small;"&gt;="server"&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 'courier new', courier;"&gt;&lt;span style="color: #0000ff; font-size: x-small;"&gt;&lt;span style="color: #0000ff; font-size: x-small;"&gt;/&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="color: #0000ff; font-size: x-small;"&gt;&lt;span style="color: #0000ff; font-size: x-small;"&gt;&amp;lt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #a31515; font-size: x-small;"&gt;&lt;span style="color: #a31515; font-size: x-small;"&gt;ae&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #0000ff; font-size: x-small;"&gt;&lt;span style="color: #0000ff; font-size: x-small;"&gt;:&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #a31515; font-size: x-small;"&gt;&lt;span style="color: #a31515; font-size: x-small;"&gt;PromptButton&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt; &lt;/span&gt;&lt;span style="color: #ff0000; font-size: x-small;"&gt;&lt;span style="color: #ff0000; font-size: x-small;"&gt;ID&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #0000ff; font-size: x-small;"&gt;&lt;span style="color: #0000ff; font-size: x-small;"&gt;="noButton"&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt; &lt;/span&gt;&lt;span style="color: #ff0000; font-size: x-small;"&gt;&lt;span style="color: #ff0000; font-size: x-small;"&gt;CommandArgument&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #0000ff; font-size: x-small;"&gt;&lt;span style="color: #0000ff; font-size: x-small;"&gt;="No"&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt; &lt;/span&gt;&lt;span style="color: #ff0000; font-size: x-small;"&gt;&lt;span style="color: #ff0000; font-size: x-small;"&gt;Text&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #0000ff; font-size: x-small;"&gt;&lt;span style="color: #0000ff; font-size: x-small;"&gt;="No"&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt; &lt;/span&gt;&lt;span style="color: #ff0000; font-size: x-small;"&gt;&lt;span style="color: #ff0000; font-size: x-small;"&gt;runat&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #0000ff; font-size: x-small;"&gt;&lt;span style="color: #0000ff; font-size: x-small;"&gt;="server"&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 'courier new', courier;"&gt;&lt;span style="color: #0000ff; font-size: x-small;"&gt;&lt;span style="color: #0000ff; font-size: x-small;"&gt;/&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="color: #0000ff; font-size: x-small;"&gt;&lt;span style="color: #0000ff; font-size: x-small;"&gt;&amp;lt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #a31515; font-size: x-small;"&gt;&lt;span style="color: #a31515; font-size: x-small;"&gt;ae&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #0000ff; font-size: x-small;"&gt;&lt;span style="color: #0000ff; font-size: x-small;"&gt;:&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #a31515; font-size: x-small;"&gt;&lt;span style="color: #a31515; font-size: x-small;"&gt;PromptButton&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt; &lt;/span&gt;&lt;span style="color: #ff0000; font-size: x-small;"&gt;&lt;span style="color: #ff0000; font-size: x-small;"&gt;ID&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #0000ff; font-size: x-small;"&gt;&lt;span style="color: #0000ff; font-size: x-small;"&gt;="cancelButton"&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt; &lt;/span&gt;&lt;span style="color: #ff0000; font-size: x-small;"&gt;&lt;span style="color: #ff0000; font-size: x-small;"&gt;CommandArgument&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #0000ff; font-size: x-small;"&gt;&lt;span style="color: #0000ff; font-size: x-small;"&gt;="Cancel"&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt; &lt;/span&gt;&lt;span style="color: #ff0000; font-size: x-small;"&gt;&lt;span style="color: #ff0000; font-size: x-small;"&gt;Text&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #0000ff; font-size: x-small;"&gt;&lt;span style="color: #0000ff; font-size: x-small;"&gt;="Cancel"&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt; &lt;/span&gt;&lt;span style="color: #ff0000; font-size: x-small;"&gt;&lt;span style="color: #ff0000; font-size: x-small;"&gt;runat&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #0000ff; font-size: x-small;"&gt;&lt;span style="color: #0000ff; font-size: x-small;"&gt;="server"&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 'courier new', courier;"&gt;&lt;span style="color: #0000ff; font-size: x-small;"&gt;&lt;span style="color: #0000ff; font-size: x-small;"&gt;/&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="color: #0000ff; font-size: x-small;"&gt;&lt;span style="color: #0000ff; font-size: x-small;"&gt;&amp;lt;/&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #a31515; font-size: x-small;"&gt;&lt;span style="color: #a31515; font-size: x-small;"&gt;Buttons&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 'courier new', courier;"&gt;&lt;span style="color: #0000ff; font-size: x-small;"&gt;&lt;span style="color: #0000ff; font-size: x-small;"&gt;&amp;gt;&lt;br /&gt;&amp;lt;/&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #a31515; font-size: x-small;"&gt;&lt;span style="color: #a31515; font-size: x-small;"&gt;ae&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #0000ff; font-size: x-small;"&gt;&lt;span style="color: #0000ff; font-size: x-small;"&gt;:&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #a31515; font-size: x-small;"&gt;&lt;span style="color: #a31515; font-size: x-small;"&gt;Prompt&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #0000ff; font-size: x-small;"&gt;&lt;span style="color: #0000ff; font-size: x-small;"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;All of the client-side events that the prompt controls expose are grouped up into a &amp;ldquo;ClientEvents&amp;rdquo; element within the prompt&amp;rsquo;s declaration.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;The &amp;ldquo;buttonSelect&amp;rdquo; event in this sample is wiring up the JavaScript function &amp;ldquo;prompt1_ButtonSelect&amp;rdquo;.&amp;nbsp; The buttonSelect event is of type buttonSelectEventArgs which contains a property called &amp;ldquo;button&amp;rdquo; that will then expose the button that the user selected within the prompt.&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family: 'courier new', courier;"&gt;&amp;nbsp;&lt;span style="color: #0000ff; font-size: x-small;"&gt;&lt;span style="color: #0000ff; font-size: x-small;"&gt;&amp;lt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #a31515; font-size: x-small;"&gt;&lt;span style="color: #a31515; font-size: x-small;"&gt;script&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt; &lt;/span&gt;&lt;span style="color: #ff0000; font-size: x-small;"&gt;&lt;span style="color: #ff0000; font-size: x-small;"&gt;type&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 'courier new', courier;"&gt;&lt;span style="color: #0000ff; font-size: x-small;"&gt;&lt;span style="color: #0000ff; font-size: x-small;"&gt;="text/javascript"&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #0000ff; font-size: x-small;"&gt;&lt;span style="color: #0000ff; font-size: x-small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; function&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 'courier new', courier;"&gt;&lt;span style="font-size: x-small;"&gt; prompt1_ButtonSelect(sender, args)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #0000ff; font-size: x-small;"&gt;&lt;span style="color: #0000ff; font-size: x-small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 'courier new', courier;"&gt;&lt;span style="font-size: x-small;"&gt; selectedButton = args.get_button();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; alert(&lt;/span&gt;&lt;span style="color: #a31515; font-size: x-small;"&gt;&lt;span style="color: #a31515; font-size: x-small;"&gt;'You selected the "'&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt; + selectedButton.get_commandArgument() + &lt;/span&gt;&lt;span style="color: #a31515; font-size: x-small;"&gt;&lt;span style="color: #a31515; font-size: x-small;"&gt;'" button.'&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 'courier new', courier;"&gt;&lt;span style="font-size: x-small;"&gt;);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #0000ff; font-size: x-small;"&gt;&lt;span style="color: #0000ff; font-size: x-small;"&gt;&amp;lt;/&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #a31515; font-size: x-small;"&gt;&lt;span style="color: #a31515; font-size: x-small;"&gt;script&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #0000ff; font-size: x-small;"&gt;&lt;span style="color: #0000ff; font-size: x-small;"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;In some cases you may not want your prompt trigger to always fire.&amp;nbsp; To suppress the trigger you can specify a condition that has to be met for the trigger to actually fire.&amp;nbsp; In &lt;a title="Sample 3" href="http://www.afteredge.com/samples/prompt/WebForm3.aspx" target="_blank"&gt;sample 3&lt;/a&gt;, we are setting up a ScriptCondition.&amp;nbsp; The script condition should link to a JavaScript function to evaluate your custom condition.&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family: 'courier new', courier;"&gt;&amp;nbsp;&lt;span style="color: #0000ff; font-size: x-small;"&gt;&lt;span style="color: #0000ff; font-size: x-small;"&gt;&amp;lt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #a31515; font-size: x-small;"&gt;&lt;span style="color: #a31515; font-size: x-small;"&gt;ae&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #0000ff; font-size: x-small;"&gt;&lt;span style="color: #0000ff; font-size: x-small;"&gt;:&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #a31515; font-size: x-small;"&gt;&lt;span style="color: #a31515; font-size: x-small;"&gt;Prompt&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt; &lt;/span&gt;&lt;span style="color: #ff0000; font-size: x-small;"&gt;&lt;span style="color: #ff0000; font-size: x-small;"&gt;ID&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #0000ff; font-size: x-small;"&gt;&lt;span style="color: #0000ff; font-size: x-small;"&gt;="prompt1"&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt; &lt;/span&gt;&lt;span style="color: #ff0000; font-size: x-small;"&gt;&lt;span style="color: #ff0000; font-size: x-small;"&gt;Title&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #0000ff; font-size: x-small;"&gt;&lt;span style="color: #0000ff; font-size: x-small;"&gt;="Prompt Sample 3"&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt; &lt;/span&gt;&lt;span style="color: #ff0000; font-size: x-small;"&gt;&lt;span style="color: #ff0000; font-size: x-small;"&gt;Message&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #0000ff; font-size: x-small;"&gt;&lt;span style="color: #0000ff; font-size: x-small;"&gt;="I am prompt sample 3."&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt; &lt;/span&gt;&lt;span style="color: #ff0000; font-size: x-small;"&gt;&lt;span style="color: #ff0000; font-size: x-small;"&gt;ButtonOptions&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #0000ff; font-size: x-small;"&gt;&lt;span style="color: #0000ff; font-size: x-small;"&gt;="Ok"&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt; &lt;/span&gt;&lt;span style="color: #ff0000; font-size: x-small;"&gt;&lt;span style="color: #ff0000; font-size: x-small;"&gt;runat&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 'courier new', courier;"&gt;&lt;span style="color: #0000ff; font-size: x-small;"&gt;&lt;span style="color: #0000ff; font-size: x-small;"&gt;="server"&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #0000ff; font-size: x-small;"&gt;&lt;span style="color: #0000ff; font-size: x-small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #a31515; font-size: x-small;"&gt;&lt;span style="color: #a31515; font-size: x-small;"&gt;Triggers&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 'courier new', courier;"&gt;&lt;span style="color: #0000ff; font-size: x-small;"&gt;&lt;span style="color: #0000ff; font-size: x-small;"&gt;&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #0000ff; font-size: x-small;"&gt;&lt;span style="color: #0000ff; font-size: x-small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #a31515; font-size: x-small;"&gt;&lt;span style="color: #a31515; font-size: x-small;"&gt;ae&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #0000ff; font-size: x-small;"&gt;&lt;span style="color: #0000ff; font-size: x-small;"&gt;:&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #a31515; font-size: x-small;"&gt;&lt;span style="color: #a31515; font-size: x-small;"&gt;ControlPromptTrigger&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt; &lt;/span&gt;&lt;span style="color: #ff0000; font-size: x-small;"&gt;&lt;span style="color: #ff0000; font-size: x-small;"&gt;ControlID&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #0000ff; font-size: x-small;"&gt;&lt;span style="color: #0000ff; font-size: x-small;"&gt;="dropDown1"&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt; &lt;/span&gt;&lt;span style="color: #ff0000; font-size: x-small;"&gt;&lt;span style="color: #ff0000; font-size: x-small;"&gt;EventName&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #0000ff; font-size: x-small;"&gt;&lt;span style="color: #0000ff; font-size: x-small;"&gt;="change"&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt; &lt;/span&gt;&lt;span style="color: #ff0000; font-size: x-small;"&gt;&lt;span style="color: #ff0000; font-size: x-small;"&gt;ScriptCondition&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #0000ff; font-size: x-small;"&gt;&lt;span style="color: #0000ff; font-size: x-small;"&gt;="meetsCondition"&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 'courier new', courier;"&gt;&lt;span style="color: #0000ff; font-size: x-small;"&gt;&lt;span style="color: #0000ff; font-size: x-small;"&gt;/&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #0000ff; font-size: x-small;"&gt;&lt;span style="color: #0000ff; font-size: x-small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #a31515; font-size: x-small;"&gt;&lt;span style="color: #a31515; font-size: x-small;"&gt;Triggers&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 'courier new', courier;"&gt;&lt;span style="color: #0000ff; font-size: x-small;"&gt;&lt;span style="color: #0000ff; font-size: x-small;"&gt;&amp;gt;&lt;br /&gt;&amp;lt;/&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #a31515; font-size: x-small;"&gt;&lt;span style="color: #a31515; font-size: x-small;"&gt;ae&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #0000ff; font-size: x-small;"&gt;&lt;span style="color: #0000ff; font-size: x-small;"&gt;:&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #a31515; font-size: x-small;"&gt;&lt;span style="color: #a31515; font-size: x-small;"&gt;Prompt&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #0000ff; font-size: x-small;"&gt;&lt;span style="color: #0000ff; font-size: x-small;"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;This script condition passes an instance of CancelEventArgs to allow you to cancel the trigger from happening.&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family: 'courier new', courier;"&gt;&amp;nbsp;&lt;span style="color: #0000ff; font-size: x-small;"&gt;&lt;span style="color: #0000ff; font-size: x-small;"&gt;&amp;lt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #a31515; font-size: x-small;"&gt;&lt;span style="color: #a31515; font-size: x-small;"&gt;script&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt; &lt;/span&gt;&lt;span style="color: #ff0000; font-size: x-small;"&gt;&lt;span style="color: #ff0000; font-size: x-small;"&gt;type&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 'courier new', courier;"&gt;&lt;span style="color: #0000ff; font-size: x-small;"&gt;&lt;span style="color: #0000ff; font-size: x-small;"&gt;="text/javascript"&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #0000ff; font-size: x-small;"&gt;&lt;span style="color: #0000ff; font-size: x-small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; function&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 'courier new', courier;"&gt;&lt;span style="font-size: x-small;"&gt; meetsCondition(sender, args)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; args.set_cancel($get(&lt;/span&gt;&lt;span style="color: #a31515; font-size: x-small;"&gt;&lt;span style="color: #a31515; font-size: x-small;"&gt;'dropDown1'&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 'courier new', courier;"&gt;&lt;span style="font-size: x-small;"&gt;).value == 2);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #0000ff; font-size: x-small;"&gt;&lt;span style="color: #0000ff; font-size: x-small;"&gt;&amp;lt;/&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #a31515; font-size: x-small;"&gt;&lt;span style="color: #a31515; font-size: x-small;"&gt;script&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #0000ff; font-size: x-small;"&gt;&lt;span style="color: #0000ff; font-size: x-small;"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;In this sample, the trigger will be canceled if the user selected &amp;ldquo;Item 2&amp;rdquo; from the drop down list.&amp;nbsp; The prompt also includes a show and hide event that can be handled accordingly. See &lt;a title="Sample 5" href="http://www.afteredge.com/samples/prompt/WebForm5.aspx" target="_blank"&gt;sample 5&lt;/a&gt; for more details.&lt;/p&gt;
&lt;p&gt;In addition to client-side events, the prompt also includes a rich client-side api to modify the display of the prompt including title, message, buttons, triggers, etc.&lt;/p&gt;
&lt;p class="MsoNormal" style="margin-top: 0in; margin-right: 0in; margin-bottom: 10pt; margin-left: 0in"&gt;In &lt;a title="Sample 4" href="http://www.afteredge.com/samples/prompt/WebForm4.aspx" target="_blank"&gt;sample 4&lt;/a&gt;, we can alter the title and message of the prompt by setting the title and message properties respectively.&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family: 'courier new', courier;"&gt;&amp;nbsp;&lt;span style="color: #0000ff; font-size: x-small;"&gt;&lt;span style="color: #0000ff; font-size: x-small;"&gt;&amp;lt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #a31515; font-size: x-small;"&gt;&lt;span style="color: #a31515; font-size: x-small;"&gt;script&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt; &lt;/span&gt;&lt;span style="color: #ff0000; font-size: x-small;"&gt;&lt;span style="color: #ff0000; font-size: x-small;"&gt;type&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 'courier new', courier;"&gt;&lt;span style="color: #0000ff; font-size: x-small;"&gt;&lt;span style="color: #0000ff; font-size: x-small;"&gt;="text/javascript"&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #0000ff; font-size: x-small;"&gt;&lt;span style="color: #0000ff; font-size: x-small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; function&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 'courier new', courier;"&gt;&lt;span style="font-size: x-small;"&gt; setPromptProperties()&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #0000ff; font-size: x-small;"&gt;&lt;span style="color: #0000ff; font-size: x-small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt; title = $get(&lt;/span&gt;&lt;span style="color: #a31515; font-size: x-small;"&gt;&lt;span style="color: #a31515; font-size: x-small;"&gt;'promptTitle'&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 'courier new', courier;"&gt;&lt;span style="font-size: x-small;"&gt;).value;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #0000ff; font-size: x-small;"&gt;&lt;span style="color: #0000ff; font-size: x-small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt; message = $get(&lt;/span&gt;&lt;span style="color: #a31515; font-size: x-small;"&gt;&lt;span style="color: #a31515; font-size: x-small;"&gt;'promptMessage'&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 'courier new', courier;"&gt;&lt;span style="font-size: x-small;"&gt;).value;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #0000ff; font-size: x-small;"&gt;&lt;span style="color: #0000ff; font-size: x-small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt; prompt = $find(&lt;/span&gt;&lt;span style="color: #a31515; font-size: x-small;"&gt;&lt;span style="color: #a31515; font-size: x-small;"&gt;'prompt1'&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 'courier new', courier;"&gt;&lt;span style="font-size: x-small;"&gt;);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; prompt.beginUpdate();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; prompt.set_title(title);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; prompt.set_message(message);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; prompt.endUpdate();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; prompt.show();&lt;br /&gt;}&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #0000ff; font-size: x-small;"&gt;&lt;span style="color: #0000ff; font-size: x-small;"&gt;&amp;lt;/&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #a31515; font-size: x-small;"&gt;&lt;span style="color: #a31515; font-size: x-small;"&gt;script&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #0000ff; font-size: x-small;"&gt;&lt;span style="color: #0000ff; font-size: x-small;"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;To ensure that the prompt only needs to render changes to the UI once, we have wrapped the property sets with a beginUpdate and endUpdate calls.&amp;nbsp; This will force all the DOM manipulation to happen together during the call to endUpdate().&lt;/p&gt;
&lt;p class="MsoNormal" style="margin-top: 0in; margin-right: 0in; margin-bottom: 10pt; margin-left: 0in"&gt;One important feature of the prompt control is its ability to select which control receives the target of your postback.&amp;nbsp; When a prompt is configured to be triggered by an &amp;lt;asp:Button&amp;gt; control&amp;rsquo;s client-side click event you then have two options to choose from.&amp;nbsp; If your buttons are set to auto postback you might wonder whether the button&amp;rsquo;s click event or the prompts command event will be fired on the server.&amp;nbsp; The prompt contains a property called &amp;ldquo;PostBackTarget&amp;rdquo; which allows the developer to choose whether the prompt will be the target of the postback or if the control linked within a prompt trigger will be the target of the postback.&amp;nbsp; In &lt;a title="Sample 6" href="http://www.afteredge.com/samples/prompt/WebForm6.aspx" target="_blank"&gt;sample 6&lt;/a&gt; we can demonstrate this.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family: 'courier new', courier;"&gt;&lt;span style="color: #0000ff; font-size: x-small;"&gt;&lt;span style="color: #0000ff; font-size: x-small;"&gt;&amp;lt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #a31515; font-size: x-small;"&gt;&lt;span style="color: #a31515; font-size: x-small;"&gt;script&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt; &lt;/span&gt;&lt;span style="color: #ff0000; font-size: x-small;"&gt;&lt;span style="color: #ff0000; font-size: x-small;"&gt;type&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 'courier new', courier;"&gt;&lt;span style="color: #0000ff; font-size: x-small;"&gt;&lt;span style="color: #0000ff; font-size: x-small;"&gt;="text/javascript"&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #0000ff; font-size: x-small;"&gt;&lt;span style="color: #0000ff; font-size: x-small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; function&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 'courier new', courier;"&gt;&lt;span style="font-size: x-small;"&gt; prompt1_ButtonSelect(sender, args)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #0000ff; font-size: x-small;"&gt;&lt;span style="color: #0000ff; font-size: x-small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt; prompt = $find(&lt;/span&gt;&lt;span style="color: #a31515; font-size: x-small;"&gt;&lt;span style="color: #a31515; font-size: x-small;"&gt;'prompt1'&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 'courier new', courier;"&gt;&lt;span style="font-size: x-small;"&gt;);&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #0000ff; font-size: x-small;"&gt;&lt;span style="color: #0000ff; font-size: x-small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt; target = args.get_button().get_commandArgument() == &lt;/span&gt;&lt;span style="color: #a31515; font-size: x-small;"&gt;&lt;span style="color: #a31515; font-size: x-small;"&gt;'prompt'&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 'courier new', courier;"&gt;&lt;span style="font-size: x-small;"&gt; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ? AfterEdge.Web.UI.PostBackTarget.Prompt&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : AfterEdge.Web.UI.PostBackTarget.Trigger;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; prompt.set_postBackTarget(target);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #0000ff; font-size: x-small;"&gt;&lt;span style="color: #0000ff; font-size: x-small;"&gt;&amp;lt;/&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #a31515; font-size: x-small;"&gt;&lt;span style="color: #a31515; font-size: x-small;"&gt;script&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #0000ff; font-size: x-small;"&gt;&lt;span style="color: #0000ff; font-size: x-small;"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;This sample shows how when prompt buttons are set to AutoPostback = true,&amp;nbsp; the postBackTarget is set on the client depending on which button is selected.&amp;nbsp; After the postback has completed you can see which control actually received the target of the postback.&amp;nbsp; You generally don&amp;rsquo;t need to set the postback target on the client, I am merely demonstrating the flexibility of the control.&amp;nbsp; In my personal use of the control I typically declare the postback target in the prompt declaration and never change it.&lt;/p&gt;
&lt;p&gt;An important thing to note is that when PreventDefault property of the prompt trigger is set to true, it cancels the immediate postback of the control to allow the prompt to display.&amp;nbsp; Upon selecting a button from the prompt, the postback will then complete.&lt;/p&gt;
&lt;p&gt;The prompt control also has a server-side &amp;ldquo;Command&amp;rdquo; event which fires if the prompt receives the target of the postback.&amp;nbsp; Within the CommandEventArgs, the selected button&amp;rsquo;s command argument is passed to evaluate which button was selected on the client.&lt;/p&gt;
&lt;p&gt;When developing an ASP.NET page, using server-side controls puts more overhead on your server than the traditional Html controls.&amp;nbsp; If server-side functionality is not required, I would recommend using standard Html controls.&amp;nbsp; The prompt also support creating triggers on Html controls by setting the ControlType property of the prompt trigger to &amp;ldquo;HtmlControl&amp;rdquo;.&lt;/p&gt;
&lt;p&gt;&lt;span style="color: #0000ff; font-size: x-small;"&gt;&lt;span style="color: #0000ff; font-size: x-small;"&gt;
&lt;p&gt;&lt;span style="font-family: 'courier new', courier;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="font-family: 'courier new', courier;"&gt;&lt;span style="color: #a31515; font-size: x-small;"&gt;&lt;span style="color: #a31515; font-size: x-small;"&gt;ae&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #0000ff; font-size: x-small;"&gt;&lt;span style="color: #0000ff; font-size: x-small;"&gt;:&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #a31515; font-size: x-small;"&gt;&lt;span style="color: #a31515; font-size: x-small;"&gt;Prompt&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt; &lt;/span&gt;&lt;span style="color: #ff0000; font-size: x-small;"&gt;&lt;span style="color: #ff0000; font-size: x-small;"&gt;ID&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #0000ff; font-size: x-small;"&gt;&lt;span style="color: #0000ff; font-size: x-small;"&gt;="prompt1"&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt; &lt;/span&gt;&lt;span style="color: #ff0000; font-size: x-small;"&gt;&lt;span style="color: #ff0000; font-size: x-small;"&gt;Title&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #0000ff; font-size: x-small;"&gt;&lt;span style="color: #0000ff; font-size: x-small;"&gt;="Prompt Sample 7"&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt; &lt;/span&gt;&lt;span style="color: #ff0000; font-size: x-small;"&gt;&lt;span style="color: #ff0000; font-size: x-small;"&gt;Message&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #0000ff; font-size: x-small;"&gt;&lt;span style="color: #0000ff; font-size: x-small;"&gt;="I was triggered from a Html Control."&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt; &lt;/span&gt;&lt;span style="color: #ff0000; font-size: x-small;"&gt;&lt;span style="color: #ff0000; font-size: x-small;"&gt;ButtonOptions&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #0000ff; font-size: x-small;"&gt;&lt;span style="color: #0000ff; font-size: x-small;"&gt;="Ok"&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt; &lt;/span&gt;&lt;span style="color: #ff0000; font-size: x-small;"&gt;&lt;span style="color: #ff0000; font-size: x-small;"&gt;runat&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 'courier new', courier;"&gt;&lt;span style="color: #0000ff; font-size: x-small;"&gt;&lt;span style="color: #0000ff; font-size: x-small;"&gt;="server"&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #0000ff; font-size: x-small;"&gt;&lt;span style="color: #0000ff; font-size: x-small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #a31515; font-size: x-small;"&gt;&lt;span style="color: #a31515; font-size: x-small;"&gt;Triggers&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 'courier new', courier;"&gt;&lt;span style="color: #0000ff; font-size: x-small;"&gt;&lt;span style="color: #0000ff; font-size: x-small;"&gt;&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #0000ff; font-size: x-small;"&gt;&lt;span style="color: #0000ff; font-size: x-small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #a31515; font-size: x-small;"&gt;&lt;span style="color: #a31515; font-size: x-small;"&gt;ae&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #0000ff; font-size: x-small;"&gt;&lt;span style="color: #0000ff; font-size: x-small;"&gt;:&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #a31515; font-size: x-small;"&gt;&lt;span style="color: #a31515; font-size: x-small;"&gt;ControlPromptTrigger&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt; &lt;/span&gt;&lt;span style="color: #ff0000; font-size: x-small;"&gt;&lt;span style="color: #ff0000; font-size: x-small;"&gt;ControlID&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #0000ff; font-size: x-small;"&gt;&lt;span style="color: #0000ff; font-size: x-small;"&gt;="button1"&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt; &lt;/span&gt;&lt;span style="color: #ff0000; font-size: x-small;"&gt;&lt;span style="color: #ff0000; font-size: x-small;"&gt;ControlType&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #0000ff; font-size: x-small;"&gt;&lt;span style="color: #0000ff; font-size: x-small;"&gt;="HtmlControl"&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt; &lt;/span&gt;&lt;span style="color: #ff0000; font-size: x-small;"&gt;&lt;span style="color: #ff0000; font-size: x-small;"&gt;EventName&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #0000ff; font-size: x-small;"&gt;&lt;span style="color: #0000ff; font-size: x-small;"&gt;="click"&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size: x-small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 'courier new', courier;"&gt;&lt;span style="color: #0000ff; font-size: x-small;"&gt;&lt;span style="color: #0000ff; font-size: x-small;"&gt;/&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #0000ff; font-size: x-small;"&gt;&lt;span style="color: #0000ff; font-size: x-small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #a31515; font-size: x-small;"&gt;&lt;span style="color: #a31515; font-size: x-small;"&gt;Triggers&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family: 'courier new', courier;"&gt;&lt;span style="color: #0000ff; font-size: x-small;"&gt;&lt;span style="color: #0000ff; font-size: x-small;"&gt;&amp;gt;&lt;br /&gt;&amp;lt;/&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #a31515; font-size: x-small;"&gt;&lt;span style="color: #a31515; font-size: x-small;"&gt;ae&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #0000ff; font-size: x-small;"&gt;&lt;span style="color: #0000ff; font-size: x-small;"&gt;:&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #a31515; font-size: x-small;"&gt;&lt;span style="color: #a31515; font-size: x-small;"&gt;Prompt&lt;/span&gt;&lt;/span&gt;&lt;span style="color: #0000ff; font-size: x-small;"&gt;&lt;span style="color: #0000ff; font-size: x-small;"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;The triggers will act just as they did on the web controls.&amp;nbsp;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;I hope you enjoyed reading about this control and some of its common uses.&amp;nbsp; Please feel free to contact me if you have any questions or comments.&amp;nbsp; I have also included the binary and source for this control as a download to this post.&lt;/p&gt;
&lt;p&gt;Happy programming.&amp;nbsp;&lt;/p&gt;</description>
      <link>http://www.afteredge.com/blog/post/Prompt-Control-for-ASPNET-AJAX.aspx</link>
      <author>wallace</author>
      <comments>http://www.afteredge.com/blog/post/Prompt-Control-for-ASPNET-AJAX.aspx#comment</comments>
      <guid>http://www.afteredge.com/blog/post.aspx?id=43eb9031-c6b9-41d3-ada5-613828c1bc05</guid>
      <pubDate>Sun, 27 Apr 2008 07:30:00 -0700</pubDate>
      <category>AJAX</category>
      <category>ASP.NET</category>
      <category>Custom Controls</category>
      <dc:publisher>wallace</dc:publisher>
      <pingback:server>http://www.afteredge.com/blog/pingback.axd</pingback:server>
      <pingback:target>http://www.afteredge.com/blog/post.aspx?id=43eb9031-c6b9-41d3-ada5-613828c1bc05</pingback:target>
      <slash:comments>108</slash:comments>
      <trackback:ping>http://www.afteredge.com/blog/trackback.axd?id=43eb9031-c6b9-41d3-ada5-613828c1bc05</trackback:ping>
      <wfw:comment>http://www.afteredge.com/blog/post/Prompt-Control-for-ASPNET-AJAX.aspx#comment</wfw:comment>
      <wfw:commentRss>http://www.afteredge.com/blog/syndication.axd?post=43eb9031-c6b9-41d3-ada5-613828c1bc05</wfw:commentRss>
    </item>
  </channel>
</rss>