<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://forums.asp.net/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>ASP.NET AJAX Control Toolkit</title><link>http://forums.asp.net/1022.aspx</link><description>Here's your place to discuss everything in and about the AJAX Control Toolkit</description><dc:language>en</dc:language><generator>CommunityServer 2007 SP1 (Build: 20510.895)</generator><item><title>ASP.NET AJAX Control Toolkit FAQ</title><link>http://forums.asp.net/thread/3158596.aspx</link><pubDate>Wed, 13 May 2009 02:53:37 GMT</pubDate><guid isPermaLink="false">4c671506-2930-414c-a40b-8bf57ded5924:3158596</guid><dc:creator>FAQ Publisher</dc:creator><slash:comments>0</slash:comments><comments>http://forums.asp.net/thread/3158596.aspx</comments><wfw:commentRss>http://forums.asp.net/commentrss.aspx?SectionID=1022&amp;PostID=3158596</wfw:commentRss><description>&lt;p&gt;&amp;nbsp;&lt;/p&gt;

&lt;p&gt;&lt;b&gt;&lt;a class="" title="faq_v3_top" name="faq_v3_top"&gt;&lt;/a&gt;1. Toolkit Binaries&lt;br /&gt;&lt;/b&gt;&lt;a href="http://forums.asp.net/t/1422287.aspx#faq_v3_1_1"&gt;1.1 How do I get the latest version of the Toolkit?&lt;/a&gt;&lt;br /&gt;&lt;a href="http://forums.asp.net/t/1422287.aspx#faq_v3_1_2"&gt;1.2 Installation Errors&lt;/a&gt;&lt;br /&gt;&lt;a href="http://forums.asp.net/t/1422287.aspx#faq_v3_1_3"&gt;1.3 How do I update existing sites using the Toolkit?&lt;/a&gt; &lt;/p&gt;

&lt;p&gt;&lt;b&gt;2. Basic Usage&lt;br /&gt;&lt;/b&gt;&lt;a href="http://forums.asp.net/t/1422287.aspx#faq_v3_2_1"&gt;2.1 Browser compatibility&lt;/a&gt;&lt;br /&gt;&lt;a href="http://forums.asp.net/t/1422287.aspx#faq_v3_2_2"&gt;2.2 Dynamically creating controls&lt;/a&gt;&lt;br /&gt;&lt;a href="http://forums.asp.net/t/1422287.aspx#faq_v3_2_3"&gt;2.3 Can I use your scripts if I&amp;#39;m not using ASP.NET?&lt;/a&gt;&lt;br /&gt;&lt;a href="http://forums.asp.net/t/1422287.aspx#faq_v3_2_4"&gt;2.4 Why aren&amp;#39;t the samples in VB.NET?&lt;/a&gt;&lt;br /&gt;&lt;a href="http://forums.asp.net/t/1422287.aspx#faq_v3_2_5"&gt;2.5 Target control with ID &amp;#39;XYZ&amp;#39; could not be found for extender ‘ABC’&lt;/a&gt;&lt;br /&gt;&lt;a href="http://forums.asp.net/t/1422287.aspx#faq_v3_2_6"&gt;2.6 Why do I get this error: “Sys.InvalidOperationException: Two components with the same id ‘****’ can’t be added to the application”?&lt;/a&gt;&lt;br /&gt;&lt;a href="http://forums.asp.net/t/1422287.aspx#faq_v3_2_7"&gt;2.7 How do I force a PostBack from my JavaScript?&lt;/a&gt;&lt;br /&gt;&lt;a href="http://forums.asp.net/t/1422287.aspx#faq_v3_2_8"&gt;2.8 Manipulate extender on the client&lt;/a&gt;&lt;br /&gt;&lt;a href="http://forums.asp.net/t/1422287.aspx#faq_v3_2_9"&gt;2.9 Can I change the value of a property dynamically on the client?&lt;/a&gt;&lt;br /&gt;&lt;a href="http://forums.asp.net/t/1422287.aspx#faq_v3_2_10"&gt;2.10 How to get/set a Control’s position on client side?&lt;/a&gt;&lt;br /&gt;&lt;a href="http://forums.asp.net/t/1422287.aspx#faq_v3_2_11"&gt;2.11 z-Order problems&lt;/a&gt;&lt;br /&gt;&lt;a href="http://forums.asp.net/t/1422287.aspx#faq_v3_2_12"&gt;2.12 Scripts don&amp;#39;t load when the extender targets a control in an EditItemTemplate&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;b&gt;3. PageMethods and Web Service&lt;/b&gt;&lt;br /&gt;&lt;a href="http://forums.asp.net/t/1422287.aspx#faq_v3_3_1"&gt;3.1 My PageMethod does not work?&lt;/a&gt;&lt;br /&gt;&lt;a href="http://forums.asp.net/t/1422287.aspx#faq_v3_3_2"&gt;3.2 I have a UserControl and my PageMethod does not work?&lt;/a&gt;&lt;br /&gt;&lt;a href="http://forums.asp.net/t/1422287.aspx#faq_v3_3_3"&gt;3.3 My WebService does not work, why?&lt;/a&gt;&lt;br /&gt;&lt;a href="http://forums.asp.net/t/1422287.aspx#faq_v3_3_4"&gt;3.4 How can I pass additional data to my WebService?&lt;/a&gt;&lt;br /&gt;&lt;a href="http://forums.asp.net/t/1422287.aspx#faq_v3_3_5"&gt;3.5 How to change contextKey on client side?&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;b&gt;&lt;font size="3"&gt;&lt;font size="2"&gt;4. Events&lt;/font&gt;&lt;br /&gt;&lt;/font&gt;&lt;/b&gt;&lt;a href="http://forums.asp.net/t/1422287.aspx#faq_v3_4_1"&gt;4.1 How do I attach to a DOM event?&lt;/a&gt;&lt;br /&gt;&lt;a href="http://forums.asp.net/t/1422287.aspx#faq_v3_4_2"&gt;4.2 How do I attach to an event raised by a behavior?&lt;/a&gt;&lt;br /&gt;&lt;a href="http://forums.asp.net/t/1422287.aspx#faq_v3_4_3"&gt;4.3 How do I cancel an event?&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;b&gt;&lt;font size="3"&gt;&lt;font size="2"&gt;5. Localization&lt;/font&gt;&lt;br /&gt;&lt;/font&gt;&lt;/b&gt;&lt;a href="http://forums.asp.net/t/1422287.aspx#faq_v3_5_1"&gt;5.1 When I reference the no-source Toolkit dll it pulls a lot more dlls and places them in the bin folder of my website, why?&lt;/a&gt;&lt;br /&gt;&lt;a href="http://forums.asp.net/t/1422287.aspx#faq_v3_5_2"&gt;5.2 The Calendar control on my webpage does not seem to be showing the “Today” string in the locale of my browser, why?&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;b&gt;&lt;font size="3"&gt;&lt;font size="2"&gt;6. ModalPopup&lt;/font&gt;&lt;br /&gt;&lt;/font&gt;&lt;/b&gt;&lt;a href="http://forums.asp.net/t/1422287.aspx#faq_v3_6_1"&gt;6.1 My controls briefly appear when the page loads before being hidden (specifically with CollapsiblePanelExtender, PopupControlExtender, etc.)&lt;/a&gt;&lt;br /&gt;&lt;a href="http://forums.asp.net/t/1422287.aspx#faq_v3_6_2"&gt;6.2 How do I create a ModalPopup programmatically?&lt;/a&gt;&lt;br /&gt;&lt;a href="http://forums.asp.net/t/1422287.aspx#faq_v3_6_3"&gt;6.3 What if multiple TargetControls for the ModalPopup?&lt;/a&gt;&lt;br /&gt;&lt;a href="http://forums.asp.net/t/1422287.aspx#faq_v3_6_4"&gt;6.4 How do I show the ModalPopup from the server?&lt;/a&gt;&lt;br /&gt;&lt;a href="http://forums.asp.net/t/1422287.aspx#faq_v3_6_5"&gt;6.5 How to keep ModalPopupExtender after full PostBack?&lt;/a&gt;&lt;br /&gt;&lt;a href="http://forums.asp.net/t/1422287.aspx#faq_v3_6_6"&gt;6.6 How do I show the ModalPopup during an UpdatePanel refresh?&lt;/a&gt;&lt;br /&gt;&lt;a href="http://forums.asp.net/t/1422287.aspx#faq_v3_6_7"&gt;6.7 Why the OK button’s server side click event doesn’t fire?&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;b&gt;7. Cascading Dropdown&lt;br /&gt;&lt;/b&gt;&lt;a href="http://forums.asp.net/t/1422287.aspx#faq_v3_7_1"&gt;7.1 How do I use Cascading Drop Down with other data sources?&lt;/a&gt;&lt;br /&gt;&lt;a href="http://forums.asp.net/t/1422287.aspx#faq_v3_7_2"&gt;7.2 CascadingDropDown not populating&lt;/a&gt;&lt;br /&gt;&lt;a href="http://forums.asp.net/t/1422287.aspx#faq_v3_7_3"&gt;7.3 Getting the text of the selected item in a CascadingDropDown&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;b&gt;8. TabContainer&lt;/b&gt;&lt;br /&gt;&lt;a href="http://forums.asp.net/t/1422287.aspx#faq_v3_8_1"&gt;8.1 How to manipulate TabControl with JavaScript?&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;b&gt;&lt;font size="3"&gt;&lt;font size="2"&gt;9. Accordion&lt;/font&gt;&lt;br /&gt;&lt;/font&gt;&lt;/b&gt;&lt;a href="http://forums.asp.net/t/1422287.aspx#faq_v3_9_1"&gt;9.1 Add an Accordion Pane on client side?&lt;/a&gt;&lt;br /&gt;&lt;a href="http://forums.asp.net/t/1422287.aspx#faq_v3_9_2"&gt;9.2 How to expand Accordion when moving the mouse over its header?&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;b&gt;10. Calendar&lt;br /&gt;&lt;/b&gt;&lt;a href="http://forums.asp.net/t/1422287.aspx#faq_v3_10_1"&gt;10.1 How to change the CalendarExtender’s display mode?&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;b&gt;11. DragPanel&lt;/b&gt;&lt;br /&gt;&lt;a href="http://forums.asp.net/t/1422287.aspx#faq_v3_11_1"&gt;11.1 My DragPanels overlap and don&amp;#39;t remain where they are dropped?&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;b&gt;12. Slider&lt;br /&gt;&lt;/b&gt;&lt;a href="http://forums.asp.net/t/1422287.aspx#faq_v3_12_1"&gt;12.1 How to disable/enable the SliderControl?&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;b&gt;13. Rating&lt;/b&gt;&lt;br /&gt;&lt;a href="http://forums.asp.net/t/1422287.aspx#faq_v3_13_1"&gt;13.1 How to change the Rating Control’s title property?&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;b&gt;14. Validators&lt;/b&gt;&lt;br /&gt;&lt;a href="http://forums.asp.net/t/1422287.aspx#faq_v3_14_1"&gt;14.1 Why asp.net validators not working in the UpdatePanel?&lt;/a&gt;&lt;br /&gt;&lt;a href="http://forums.asp.net/t/1422287.aspx#faq_v3_14_2"&gt;14.2 ValidatorCallout does not work in a postback?&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;b&gt;&lt;font size="3"&gt;&lt;font size="2"&gt;15. Animation&lt;/font&gt;&lt;br /&gt;&lt;/font&gt;&lt;/b&gt;&lt;a href="http://forums.asp.net/t/1422287.aspx#faq_v3_15_1"&gt;15.1 Scripting Animations from the Ms Ajax AnimationExtender&lt;/a&gt;&lt;br /&gt;&lt;a href="http://forums.asp.net/t/1422287.aspx#faq_v3_15_2"&gt;15.2 How to: Re-use Animation Extenders in a page&lt;/a&gt;&lt;br /&gt;&lt;a href="http://forums.asp.net/t/1422287.aspx#faq_v3_15_3"&gt;15.3 MS AJAX AnimationExtender : How Many Ways Do I Play thee?&lt;/a&gt;&lt;br /&gt;&lt;a href="http://forums.asp.net/t/1422287.aspx#faq_v3_15_4"&gt;15.4 How do I add animation to the SlideShow?&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;font size="3"&gt;&lt;b&gt;&lt;font size="2"&gt;16. Custom Extender&lt;/font&gt;&lt;/b&gt;&lt;br /&gt;&lt;/font&gt;&lt;a href="http://forums.asp.net/t/1422287.aspx#faq_v3_16_1"&gt;16.1 Contributing to the Toolkit&lt;/a&gt;&lt;br /&gt;&lt;a href="http://forums.asp.net/t/1422287.aspx#faq_v3_16_2"&gt;16.2 How do I get my own control included in the ASP.NET AJAX Control Toolkit?&lt;/a&gt;&lt;br /&gt;&lt;a href="http://forums.asp.net/t/1422287.aspx#faq_v3_16_3"&gt;16.3 I don&amp;#39;t see my changes to the JavaScript files in the provided project or a project created from the templates&lt;/a&gt;&lt;br /&gt;&lt;a href="http://forums.asp.net/t/1422287.aspx#faq_v3_16_4"&gt;16.4 I get an &amp;quot;Assertion Failed: Unrecognized Tag&amp;quot; error with my new control&lt;/a&gt;&lt;/p&gt;

&lt;hr /&gt;

&lt;p&gt;&lt;font size="3"&gt;&lt;b&gt;1. Toolkit Binaries&lt;/b&gt;&lt;/font&gt;&lt;/p&gt;

&lt;p&gt;&lt;b&gt;&lt;a class="" title="faq_v3_1_1" name="faq_v3_1_1"&gt;&lt;/a&gt;1.1 How do I get the latest version of the Toolkit? [&lt;a href="http://forums.asp.net/t/1422287.aspx#faq_v3_top"&gt;top&lt;/a&gt;]&lt;/b&gt;&lt;/p&gt;

&lt;p&gt;Right now we&amp;#39;re not working with specific release dates. We hope to keep a very rapid schedule of releasing the ASP.NET AJAX Control Toolkit and provide refreshes approximately once a month that contain new controls, bug fixes, etc. We are moving towards a fully-transparent development model hosted on &lt;a href="http://www.codeplex.com/Wiki/View.aspx?ProjectName=AtlasControlToolkit"&gt;CodePlex.com&lt;/a&gt;, where the full source code and daily checkins are available for viewing or download. Now that we are fully hosted on CodePlex, we are publishing regular &amp;quot;Last Known Good&amp;quot; builds on a frequent basis (about every 1-2 weeks), and more-tested &amp;quot;releases&amp;quot; less frequently (about every month). You can check for the latest release &lt;a href="http://www.codeplex.com/AtlasControlToolkit/Release/ProjectReleases.aspx?ReleaseId=11121"&gt;here&lt;/a&gt;. &lt;/p&gt;

&lt;p&gt;&lt;b&gt;&lt;a class="" title="faq_v3_1_2" name="faq_v3_1_2"&gt;&lt;/a&gt;1.2 Installation Errors [&lt;a href="http://forums.asp.net/t/1422287.aspx#faq_v3_top"&gt;top&lt;/a&gt;]&lt;/b&gt;&lt;/p&gt;

&lt;p&gt;The installation process for the ASP.NET AJAX Control Toolkit is very simple.&amp;nbsp; It unzips the files into a directory you specify and then launches the local web server to start the sample website. If you get this far and have problems using the Toolkit, make sure you properly &lt;a href="http://www.asp.net/ajax/ajaxcontroltoolkit/samples/Walkthrough/Setup.aspx"&gt;setup your environment&lt;/a&gt;. If you&amp;#39;ve having other problems, please post them in the forum and we&amp;#39;ll help you work through them.&lt;/p&gt;

&lt;p&gt;Related threads: &lt;br /&gt;&lt;a href="http://forums.asp.net/thread/1259772.aspx"&gt;&lt;font color="#034efa"&gt;error installing&lt;/font&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://forums.asp.net/thread/1266929.aspx"&gt;&lt;font color="#034efa"&gt;Can&amp;#39;t install the toolkit&lt;/font&gt;&lt;/a&gt;&lt;br /&gt;&lt;u&gt;&lt;a href="http://forums.asp.net/thread/1279876.aspx"&gt;&lt;font color="#034efa"&gt;ASP.NET AJAX Control Toolkit&lt;/font&gt;&lt;/a&gt;&lt;/u&gt;&lt;/p&gt;

&lt;p&gt;&lt;b&gt;&lt;a class="" title="faq_v3_1_3" name="faq_v3_1_3"&gt;&lt;/a&gt;1.3 How do I update existing sites using the Toolkit? [&lt;a href="http://forums.asp.net/t/1422287.aspx#faq_v3_top"&gt;top&lt;/a&gt;]&lt;/b&gt;&lt;/p&gt;

&lt;p&gt;In most cases, Toolkit can be updated seamlessly by replacing an older version assembly with a newer one.&lt;/p&gt;

&lt;hr /&gt;

&lt;p&gt;&lt;b&gt;&lt;font size="3"&gt;2.&lt;font face="helvetica"&gt; &lt;/font&gt;Basic Usage&lt;/font&gt;&lt;/b&gt;&lt;/p&gt;

&lt;p&gt;&lt;b&gt;&lt;a class="" title="faq_v3_2_1" name="faq_v3_2_1"&gt;&lt;/a&gt;2.1 Browser compatibility [&lt;a href="http://forums.asp.net/t/1422287.aspx#faq_v3_top"&gt;top&lt;/a&gt;]&lt;/b&gt;&lt;/p&gt;

&lt;p&gt;When using the Toolkit, you may find that control XXX doesn&amp;#39;t work property under browser YYY. While these early releases have not worked perfectly in all browsers, we hope to eventually provide some level of support for each control in all browsers that ASP.NET AJAX targets. Currently ASP.NET AJAX is planning to support IE, Firefox, and Safari.&lt;/p&gt;

&lt;p&gt;Related threads: &lt;br /&gt;&lt;a href="http://forums.asp.net/thread/1263623.aspx"&gt;&lt;font color="#034efa"&gt;FYI: how cross browser are the Toolkit components&lt;/font&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://forums.asp.net/thread/1279828.aspx"&gt;&lt;font color="#034efa"&gt;I tried the toolkit from your sample site with ...&lt;/font&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;b&gt;&lt;a class="" title="faq_v3_2_2" name="faq_v3_2_2"&gt;&lt;/a&gt;2.2 Dynamically creating controls [&lt;a href="http://forums.asp.net/t/1422287.aspx#faq_v3_top"&gt;top&lt;/a&gt;]&lt;/b&gt;&lt;/p&gt;

&lt;p&gt;Please refer to question “How do I create a ModalPopup Programmatically?”&lt;/p&gt;

&lt;p&gt;Related threads: &lt;br /&gt;&lt;a href="http://forums.asp.net/thread/1280798.aspx"&gt;&lt;font color="#034efa"&gt;Creating Atlas Controls&lt;/font&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://forums.asp.net/thread/1265095.aspx"&gt;&lt;font color="#034efa"&gt;Creating DragPanel dynamicly&lt;/font&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://forums.asp.net/thread/1279395.aspx"&gt;&lt;font color="#034efa"&gt;Collapsible Panel Behaviour&lt;/font&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://forums.asp.net/thread/1279560.aspx"&gt;&lt;font color="#034efa"&gt;Dynamically Create Controls and Extenders&lt;/font&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;b&gt;&lt;a class="" title="faq_v3_2_3" name="faq_v3_2_3"&gt;&lt;/a&gt;2.3&amp;nbsp;Can I use your scripts if I&amp;#39;m not using ASP.NET? [&lt;a href="http://forums.asp.net/t/1422287.aspx#faq_v3_top"&gt;top&lt;/a&gt;]&lt;/b&gt;&lt;/p&gt;

&lt;p&gt;Yes, so long as the control doesn&amp;#39;t require any of the server side code to function. Most of the controls only use server side code to automatically attach themselves to server controls in the page. A few other controls, notably ReoderList, are actually implemented as server controls since they do a lot of their work on the server and would not trivially port to other platforms. All of the scripts require that you&amp;#39;re running on top of ASP.NET AJAX though. Shanku Niyogi has posted an example of &lt;a href="http://www.shankun.com/Atlas_Php_2.aspx"&gt;using ASP.NET AJAX with PHP&lt;/a&gt;, for those who would like an example of running ASP.NET AJAX outside of ASP.NET.&lt;/p&gt;

&lt;p&gt;&lt;b&gt;&lt;a class="" title="faq_v3_2_4" name="faq_v3_2_4"&gt;&lt;/a&gt;2.4&amp;nbsp;Why aren&amp;#39;t the samples in VB.NET? [&lt;a href="http://forums.asp.net/t/1422287.aspx#faq_v3_top"&gt;top&lt;/a&gt;]&lt;/b&gt;&lt;/p&gt;

&lt;p&gt;The current version of the Toolkit only ships with sample code in C#. Note that the Visual Studio templates that ship with the Toolkit are available in C# and VB.NET.&lt;/p&gt;

&lt;p&gt;We have chosen to write the Toolkit itself in C#, as well as the accompanying sample pages. However, in most cases the majority of the code is actually in JavaScript with a small layer of (usually) very simple C# or VB.NET code.&lt;/p&gt;

&lt;p&gt;If you are a VB.NET developer and are having difficulty understanding the C# samples, please don&amp;#39;t hesitate to post to the forums and we&amp;#39;ll be glad to help you.&lt;/p&gt;

&lt;p&gt;Related threads: &lt;br /&gt;&lt;a href="http://forums.asp.net/thread/1261000.aspx"&gt;&lt;font color="#034efa"&gt;Cascading Dropdown List VB error&lt;/font&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://forums.asp.net/thread/1266919.aspx"&gt;&lt;font color="#034efa"&gt;CascadingDropDowns in VB&lt;/font&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://forums.asp.net/thread/1259534.aspx"&gt;&lt;font color="#034efa"&gt;CascadingDropDown Problems......&lt;/font&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;b&gt;&lt;a class="" title="faq_v3_2_5" name="faq_v3_2_5"&gt;&lt;/a&gt;2.5&amp;nbsp;Target control with ID &amp;#39;XYZ&amp;#39; could not be found for extender &amp;#39;ABC&amp;#39; [&lt;a href="http://forums.asp.net/t/1422287.aspx#faq_v3_top"&gt;top&lt;/a&gt;]&lt;/b&gt;&lt;/p&gt;

&lt;p&gt;An extender must be in the same &lt;a href="http://msdn.microsoft.com/en-us/library/system.web.ui.control.namingcontainer.aspx"&gt;NamingContainer&lt;/a&gt; as the control it is targetting.&amp;nbsp; This error is especially common when databinding.&amp;nbsp; The easiest way to resolve this is by moving the extender into the same naming container as the control.&amp;nbsp; For more advanced scenarios though, you can handle the ResolveControlID event (previously called ResolveTargetControlID) which allows you to supply a reference to any control on the page.&amp;nbsp; See the &lt;a href="http://www.asp.net/ajax/ajaxcontroltoolkit/samples/Walkthrough/ExtenderClasses.aspx"&gt;extender base classes documentation&lt;/a&gt; for more details, or the ExtenderBase.cs automated test for example code.&lt;/p&gt;

&lt;p&gt;Related threads: &lt;br /&gt;&lt;a href="http://forums.asp.net/thread/1335339.aspx"&gt;&lt;font color="#034efa"&gt;Target control with ID &amp;#39;TextBox1&amp;#39; could not be found for extender !?!&lt;/font&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://forums.asp.net/thread/1262252.aspx"&gt;&lt;font color="#034efa"&gt;Error using the PopupControlExtender control when referencing controls that are contained within another control...&lt;/font&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://forums.asp.net/thread/1329770.aspx"&gt;&lt;font color="#034efa"&gt;Multiple PopupControlProperties?&lt;/font&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;b&gt;&lt;a class="" title="faq_v3_2_6" name="faq_v3_2_6"&gt;&lt;/a&gt;2.6&amp;nbsp;Why do I get this error: &amp;quot;Sys.InvalidOperationException: Two components with the same id &amp;#39;****&amp;#39; can&amp;#39;t be added to the application&amp;quot;? [&lt;a href="http://forums.asp.net/t/1422287.aspx#faq_v3_top"&gt;top&lt;/a&gt;]&lt;/b&gt;&lt;/p&gt;

&lt;p&gt;You may get this error if there is more than one Extender with identical BehaviorID existing on the page. &lt;br /&gt;All components on the page are maintained in an internal array.&amp;nbsp; When a new component is going to be added, its ID (which is the exact value of BehaviorID) will be checked against the array to see if it&amp;#39;s already occupied. This exception will be thrown if it&amp;#39;s already there.&lt;br /&gt;This usually happens when working with Data presentation controls (GridView, DataList, etc.). If there is an Extender with specified BehaviorID sits in the template, multiple instances of it will be generated. So, the exception occurs.&lt;/p&gt;

&lt;p&gt;Related threads: &lt;br /&gt;&lt;a href="http://forums.asp.net/t/1127745.aspx"&gt;http://forums.asp.net/t/1127745.aspx&lt;/a&gt; &lt;/p&gt;

&lt;p&gt;&lt;b&gt;&lt;a class="" title="faq_v3_2_7" name="faq_v3_2_7"&gt;&lt;/a&gt;2.7 How do I force a PostBack from my JavaScript? [&lt;a href="http://forums.asp.net/t/1422287.aspx#faq_v3_top"&gt;top&lt;/a&gt;]&lt;/b&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="http://forums.asp.net/post/1266936.aspx"&gt;This&amp;nbsp;thread&lt;/a&gt; describes in detail how to perform a PostBack from your JavaScript, similar to the way ReorderList does it.&lt;/p&gt;

&lt;p&gt;&lt;b&gt;&lt;a class="" title="faq_v3_2_8" name="faq_v3_2_8"&gt;&lt;/a&gt;2.8&amp;nbsp;Manipulate extender on the client [&lt;a href="http://forums.asp.net/t/1422287.aspx#faq_v3_top"&gt;top&lt;/a&gt;]&lt;/b&gt;&lt;/p&gt;

&lt;p&gt;Extender also has an object model on client side. We are able to call method on the object that represents it to get desired behavior, for example, we can call show method to make a modalPopupExtender visible. &lt;br /&gt;The key is we need to get a reference to this object. AJAX library has already provided a $find function to achieve this. First, we need to assign a BehaviorID to the extender that we wish to manipulate on server side. Then, on client side, we can get it with $find(“behaviorid”). &lt;br /&gt;After that, we can call any method on the object to achieve our requirement.&lt;/p&gt;

&lt;p&gt;Related threads: &lt;br /&gt;&lt;a href="http://forums.asp.net/thread/1279492.aspx"&gt;&lt;font color="#034efa"&gt;Referencing CollapsiblePanelExtender in jscript&lt;/font&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://forums.asp.net/thread/1266674.aspx"&gt;&lt;font color="#034efa"&gt;cascadingdropdown add client-side clear label how?&lt;/font&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;b&gt;&lt;a class="" title="faq_v3_2_9" name="faq_v3_2_9"&gt;&lt;/a&gt;2.9&amp;nbsp;Can I change the value of a property dynamically on the client? [&lt;a href="http://forums.asp.net/t/1422287.aspx#faq_v3_top"&gt;top&lt;/a&gt;]&lt;/b&gt;&lt;/p&gt;

&lt;p&gt;Yes, most of extenders in AJAX ControlToolkit have already provided a set of methods that allow us to manipulate. &lt;br /&gt;We can download the source code of ControlToolkit to find out what functions have been defined in an Extender by looking into its js file. Usually, we have following conversions:&lt;/p&gt;

&lt;p&gt;&amp;nbsp; •&amp;nbsp;Method starts with get_ means it return a property of the extender.&lt;br /&gt;&amp;nbsp; • Method starts with set_ means it can be used to set a property&amp;#39;s value of the extender.&lt;br /&gt;&amp;nbsp; •&amp;nbsp;Method starts with add_ means it can be used to add an event handler to the extender, and it should have a parameter of a function defined by you. For example, if you call add_showing to add an event handler to a ModalPopupExtender, your function will be called&amp;nbsp; before the popup shows.&lt;br /&gt;&amp;nbsp;&amp;nbsp;•&amp;nbsp;Method starts with remove_ means it can be used to remove a registered event handler.&lt;br /&gt;&amp;nbsp;&amp;nbsp;•&amp;nbsp;Method starts with underline (&amp;quot;_&amp;quot;) means it&amp;#39;s a protected or private method, and it&amp;#39;s not recommended to be used directly.&lt;/p&gt;

&lt;p&gt;&lt;b&gt;&lt;a class="" title="faq_v3_2_10" name="faq_v3_2_10"&gt;&lt;/a&gt;2.10&amp;nbsp;How to get/set a Control’s position on client side? [&lt;a href="http://forums.asp.net/t/1422287.aspx#faq_v3_top"&gt;top&lt;/a&gt;]&lt;/b&gt;&lt;/p&gt;

&lt;p&gt;Microsoft AJAX Library provides a bunch of facilities to manipulate the HTML element on client side, including getting and setting the position of an element. &lt;br /&gt;For example:&lt;/p&gt;

&lt;p&gt;To get a Panel&amp;#39;s current position on the client side, we can use $common.getLocation(DOM Element) function.&amp;nbsp; &amp;nbsp; &lt;/p&gt;

&lt;blockquote&gt;
&lt;pre class="coloredcode"&gt;&lt;span class="cmt"&gt;//Get DOM Element with $get() function. &lt;/span&gt;&lt;br /&gt;var el = $&lt;span class="kwd"&gt;get&lt;/span&gt;(&lt;span class="st"&gt;&amp;#39;&amp;lt;%=Panel1.ClientID%&amp;gt;&amp;#39;&lt;/span&gt;);   &lt;br /&gt;&lt;span class="cmt"&gt;//Get its position.  &lt;/span&gt;&lt;br /&gt;var newLocation = $common.getLocation(el); &lt;/pre&gt;&lt;/blockquote&gt;
To set its position: 
&lt;blockquote&gt;
&lt;pre class="coloredcode"&gt;&lt;span class="cmt"&gt;//Create the new position.&lt;/span&gt;&lt;br /&gt;var newLocation = &lt;span class="kwd"&gt;new&lt;/span&gt; Sys.UI.Point(x-position,y-position);&lt;br /&gt;&lt;span class="cmt"&gt;//Move the Panel to the destination.&lt;/span&gt;&lt;br /&gt;$common.setLocation(Panel, newLocation); &lt;/pre&gt;&lt;/blockquote&gt;
Sometimes, the control is associated with an Extender and the Extender contains public method to set the control&amp;#39;s position. For example, if a Panel is associated with a DragPanelExtender. We also can use &lt;span style="line-height:115%;font-size:9pt;"&gt;$find(&lt;span&gt;&amp;#39;DragPanel.BehaviorID&amp;#39;&lt;/span&gt;).set_location(newLocation)&lt;span style="color:blue;"&gt;&lt;/span&gt;&lt;/span&gt; 
&lt;p&gt;Related threads:&lt;br /&gt;&lt;a href="http://forums.asp.net/t/1154072.aspx"&gt;http://forums.asp.net/t/1154072.aspx&lt;/a&gt; &lt;/p&gt;

&lt;p&gt;&amp;nbsp;&lt;/p&gt;

&lt;p&gt;&lt;b&gt;&lt;a class="" title="faq_v3_2_11" name="faq_v3_2_11"&gt;&lt;/a&gt;2.11&amp;nbsp;z-Order problems [&lt;a href="http://forums.asp.net/t/1422287.aspx#faq_v3_top"&gt;top&lt;/a&gt;]&lt;/b&gt;&lt;/p&gt;

&lt;p&gt;A lot of the HTML input controls (like &lt;span style="line-height:115%;color:blue;font-size:9pt;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="line-height:115%;font-size:9pt;"&gt;select&lt;/span&gt;&lt;span style="line-height:115%;color:blue;font-size:9pt;"&gt;&amp;gt;&lt;/span&gt;) do not work with z-Ordering because of how the browser renders them. This causes some controls, like ModalPopup, to have input controls that appear on top of their dynamically positioned content. For more information, please see &lt;a href="http://support.microsoft.com/default.aspx?scid=KB;EN-US;Q177378"&gt;http://support.microsoft.com/default.aspx?scid=KB;EN-US;Q177378&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Related threads: &lt;br /&gt;&lt;a href="http://forums.asp.net/thread/1278621.aspx"&gt;&lt;font color="#034efa"&gt;ListBox and DragPanelExtender&lt;/font&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://forums.asp.net/thread/1279466.aspx"&gt;&lt;font color="#034efa"&gt;ModalPopup and &amp;lt;SELECT&amp;gt;&lt;/font&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;b&gt;&lt;a class="" title="faq_v3_2_12" name="faq_v3_2_12"&gt;&lt;/a&gt;2.12&amp;nbsp;Scripts don&amp;#39;t load when the extender targets a control in an EditItemTemplate&amp;nbsp;[&lt;a href="http://forums.asp.net/t/1422287.aspx#faq_v3_top"&gt;top&lt;/a&gt;]&lt;/b&gt;&lt;/p&gt;

&lt;p&gt;When using an extender that targets a control inside the EditItemTemplate of a data-bound control in conjunction with an UpdatePanel, it&amp;#39;s possible that you may see an &amp;quot;Assertion Failed: Unrecognized tag AtlasControlExtender:MyExtender&amp;quot; error message. To work around this, just force the scripts to download by placing an extender with no extender properties elsewhere in the page. For example, add &lt;span style="color:blue;font-size:9pt;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="font-size:9pt;"&gt;ajaxtoolkit&lt;/span&gt;&lt;span style="color:blue;font-size:9pt;"&gt;:&lt;/span&gt;&lt;span style="font-size:9pt;"&gt;MyExtender&lt;/span&gt;&lt;span style="font-size:9pt;"&gt; &lt;span style="color:red;"&gt;id&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;quot;me&amp;quot;&lt;/span&gt; &lt;span style="color:red;"&gt;runat&lt;/span&gt;&lt;span style="color:blue;"&gt;=&amp;quot;server&lt;/span&gt; &lt;span style="color:blue;"&gt;/&amp;gt;.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p&gt;Related threads: &lt;br /&gt;&lt;a href="http://forums.asp.net/thread/1282756.aspx"&gt;&lt;font color="#034efa"&gt;Assertion Failed: Unrecognized tag AtlasControlExtender:ValidationScript&lt;/font&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://forums.asp.net/thread/1327710.aspx"&gt;&lt;font color="#034efa"&gt;BUG - NumericUpDownExtender in Gridview EditItemTemplate&lt;/font&gt;&lt;/a&gt;&lt;/p&gt;

&lt;hr /&gt;

&lt;p&gt;&lt;font size="3"&gt;&lt;b&gt;3. PageMethods and&lt;font face="helvetica"&gt; Web Service&lt;/font&gt;&lt;/b&gt;&lt;/font&gt;&lt;/p&gt;

&lt;p&gt;&lt;b&gt;&lt;a class="" title="faq_v3_3_1" name="faq_v3_3_1"&gt;&lt;/a&gt;3.1&amp;nbsp;My PageMethod does not work? [&lt;a href="http://forums.asp.net/t/1422287.aspx#faq_v3_top"&gt;top&lt;/a&gt;]&lt;/b&gt;&lt;/p&gt;

&lt;p&gt;You can add static page methods to an ASP.NET page and qualify them as Web methods. You can then call these methods from script as if they were part of a Web service, but without creating a separate .asmx file. To create Web methods in a page, import the &lt;a href="http://msdn.microsoft.com/en-us/system.web.services.aspx"&gt;System.Web.Services&lt;/a&gt; namespace and add a &lt;a href="http://msdn.microsoft.com/en-us/system.web.services.webmethodattribute.aspx"&gt;WebMethodAttribute&lt;/a&gt; attribute to each static method that you want to expose.&lt;/p&gt;

&lt;p&gt;To be able to call static page methods as Web methods, you must set the &lt;b&gt;EnablePageMethods&lt;/b&gt; attribute of the &lt;a href="http://asp.net/ajax/documentation/live/mref/T_System_Web_UI_ScriptManager.aspx"&gt;ScriptManager&lt;/a&gt; control to&lt;b&gt; true&lt;/b&gt;.&lt;/p&gt;

&lt;p&gt;For example:&amp;nbsp; &lt;/p&gt;

&lt;blockquote&gt;
&lt;pre class="coloredcode"&gt;[WebMethod]&lt;br /&gt;&lt;span class="kwd"&gt;public static&lt;/span&gt; DateTime GetCurrentTime() {&lt;br /&gt;    &lt;span class="kwd"&gt;return&lt;/span&gt; DateTime.UtcNow; &lt;br /&gt;}&amp;nbsp;&lt;/pre&gt;&lt;/blockquote&gt;

&lt;p&gt;Use PageMethods.MethodName to call the existing PageMethod.&amp;nbsp; &lt;/p&gt;

&lt;p&gt;For example,&amp;nbsp;&amp;nbsp; &lt;/p&gt;

&lt;blockquote&gt;
&lt;pre class="coloredcode"&gt;&amp;lt;&lt;span class="tag"&gt;script&lt;/span&gt;&lt;span class="attr"&gt; language=&lt;/span&gt;&lt;span class="attrv"&gt;&amp;quot;javascript&amp;quot;&lt;/span&gt;&lt;span class="attr"&gt; type=&lt;/span&gt;&lt;span class="attrv"&gt;&amp;quot;text/javascript&amp;quot;&lt;/span&gt;&amp;gt;&lt;br /&gt;    function getCurrentTime(){&lt;br /&gt;        PageMethods.GetCurrentTime(onSucceeded);&lt;br /&gt;    }&lt;br /&gt;    function onSucceeded(returnedValue){ &lt;br /&gt;    }&lt;br /&gt;&amp;lt;/&lt;span class="tag"&gt;script&lt;/span&gt;&amp;gt;&lt;/pre&gt;&lt;/blockquote&gt;
&amp;nbsp; 
&lt;p&gt;For more information, please visit here. &lt;a href="http://asp.net/ajax/documentation/live/tutorials/ExposingWebServicesToAJAXTutorial.aspx"&gt;http://asp.net/ajax/documentation/live/tutorials/ExposingWebServicesToAJAXTutorial.aspx&lt;/a&gt; &lt;/p&gt;

&lt;p&gt;&lt;b&gt;&lt;a class="" title="faq_v3_3_2" name="faq_v3_3_2"&gt;&lt;/a&gt;3.2&amp;nbsp;I have a UserControl and my PageMethod does not work? [&lt;a href="http://forums.asp.net/t/1422287.aspx#faq_v3_top"&gt;top&lt;/a&gt;]&lt;/b&gt;&lt;/p&gt;

&lt;p&gt;As the answer above indicates, PageMethod must be defined in a page. &lt;/p&gt;

&lt;p&gt;When the EnabledPageMethod property of the ScriptManager instance on the page is set to true, it&amp;#39;ll inject script proxy for each web method defined in the page that the ScriptManager lives in. The script proxy can&amp;#39;t be generated if it&amp;#39;s defined in a control.&amp;nbsp; &lt;/p&gt;

&lt;p&gt;Related threads:&lt;br /&gt;&lt;a href="http://forums.asp.net/t/1206596.aspx"&gt;http://forums.asp.net/t/1206596.aspx&lt;/a&gt;&amp;nbsp; &lt;/p&gt;

&lt;p&gt;&lt;b&gt;&lt;a class="" title="faq_v3_3_3" name="faq_v3_3_3"&gt;&lt;/a&gt;3.3 My WebService does not work, why? [&lt;a href="http://forums.asp.net/t/1422287.aspx#faq_v3_top"&gt;top&lt;/a&gt;]&lt;/b&gt;&lt;/p&gt;

&lt;p&gt;In order for a Web service to be accessed from script, it must be an .asmx Web service whose Web service class is qualified with the &lt;a href="http://asp.net/ajax/documentation/live/mref/T_System_Web_Script_Services_ScriptServiceAttribute.aspx"&gt;ScriptServiceAttribute&lt;/a&gt; attribute. Individual methods to be called from script must be qualified with the&lt;a href="http://msdn.microsoft.com/en-us/system.web.services.webmethodattribute.aspx"&gt; WebMethodAttribute&lt;/a&gt; attribute. For example,&amp;nbsp; &amp;nbsp; &lt;/p&gt;

&lt;blockquote&gt;
&lt;pre class="coloredcode"&gt;[ScriptService]&lt;br /&gt;&lt;span class="kwd"&gt;public class&lt;/span&gt; SimpleWebService : System.Web.Services.WebService&lt;br /&gt;{&lt;br /&gt;      [WebMethod]&lt;br /&gt;      &lt;span class="kwd"&gt;public string&lt;/span&gt; EchoInput(String input)&lt;br /&gt;      {&lt;br /&gt;          &lt;span class="cmt"&gt;// Method code goes here.&lt;/span&gt;&lt;br /&gt;      }&lt;br /&gt;} &amp;nbsp;&lt;/pre&gt;&lt;/blockquote&gt;

&lt;p&gt;Add reference to the existing WebService in ScriptManager.&amp;nbsp; Like this,&amp;nbsp; &lt;/p&gt;

&lt;blockquote&gt;
&lt;pre class="coloredcode"&gt;&amp;lt;&lt;span class="tag"&gt;asp:ScriptManager&lt;/span&gt;&lt;span class="attr"&gt; runat=&lt;/span&gt;&lt;span class="attrv"&gt;&amp;quot;server&amp;quot;&lt;/span&gt;&lt;span class="attr"&gt; ID=&lt;/span&gt;&lt;span class="attrv"&gt;&amp;quot;scriptManager&amp;quot;&lt;/span&gt;&amp;gt;&lt;br /&gt;  &amp;lt;&lt;span class="tag"&gt;Services&lt;/span&gt;&amp;gt;&lt;br /&gt;    &amp;lt;&lt;span class="tag"&gt;asp:ServiceReference&lt;/span&gt;&lt;br /&gt;&lt;span class="attr"&gt;       path=&lt;/span&gt;&lt;span class="attrv"&gt;&amp;quot;~/WebServices/SimpleWebService.asmx&amp;quot;&lt;/span&gt; /&amp;gt;   &lt;br /&gt;  &amp;lt;/&lt;span class="tag"&gt;Services&lt;/span&gt;&amp;gt;  &lt;br /&gt;&amp;lt;/&lt;span class="tag"&gt;asp:ScriptManager&lt;/span&gt;&amp;gt;&amp;nbsp;&lt;/pre&gt;&lt;/blockquote&gt;

&lt;p&gt;Please make sure that the path is correct. &lt;/p&gt;

&lt;p&gt;You must configure the Web application to support calling Web services from script. In the Web.config file for the application, you must register the ScriptHandlerFactory HTTP handler, which processes calls made from script to .asmx Web services. For Web service calls that are not issued from ASP.NET AJAX script, the handler delegates the call to the default handler. The following example shows the Web.config element for adding the handler.&amp;nbsp; For example,&amp;nbsp; &lt;/p&gt;

&lt;blockquote&gt;
&lt;pre class="coloredcode"&gt;&amp;lt;&lt;span class="tag"&gt;system.web&lt;/span&gt;&amp;gt;&lt;br /&gt;  &amp;lt;&lt;span class="tag"&gt;httpHandlers&lt;/span&gt;&amp;gt;&lt;br /&gt;     &amp;lt;&lt;span class="tag"&gt;remove&lt;/span&gt;&lt;span class="attr"&gt; verb=&lt;/span&gt;&lt;span class="attrv"&gt;&amp;quot;*&amp;quot;&lt;/span&gt;&lt;span class="attr"&gt; path=&lt;/span&gt;&lt;span class="attrv"&gt;&amp;quot;*.asmx&amp;quot;&lt;/span&gt;/&amp;gt;&lt;br /&gt;     &amp;lt;&lt;span class="tag"&gt;add&lt;/span&gt;&lt;span class="attr"&gt; verb=&lt;/span&gt;&lt;span class="attrv"&gt;&amp;quot;*&amp;quot;&lt;/span&gt;&lt;span class="attr"&gt; path=&lt;/span&gt;&lt;span class="attrv"&gt;&amp;quot;*.asmx&amp;quot;&lt;/span&gt;&lt;span class="attr"&gt; type=&lt;/span&gt;&lt;span class="attrv"&gt;&amp;quot;System.Web.Script.Services.ScriptHandlerFactory&amp;quot;&lt;/span&gt;&lt;span class="attr"&gt; validate=&lt;/span&gt;&lt;span class="attrv"&gt;&amp;quot;false&amp;quot;&lt;/span&gt;/&amp;gt;&lt;br /&gt;  &amp;lt;/&lt;span class="tag"&gt;httpHandlers&lt;/span&gt;&amp;gt;&lt;br /&gt;&amp;lt;&lt;span class="tag"&gt;system.web&lt;/span&gt;&amp;gt;&lt;br /&gt;&lt;/pre&gt;&lt;/blockquote&gt;

&lt;p&gt;If your Web Service is called by a AJAX Control Toolkit control , please make sure the parameters should be strictly same with its definition.&amp;nbsp; For example, if you are using AutoComplete, you can do like the below.&amp;nbsp; &lt;/p&gt;

&lt;blockquote&gt;
&lt;pre class="coloredcode"&gt;[WebMethod]&lt;br /&gt;&lt;span class="kwd"&gt;public string&lt;/span&gt;[] GetCompletionList(&lt;span class="kwd"&gt;string&lt;/span&gt; prefixText, &lt;span class="kwd"&gt;int&lt;/span&gt; count, &lt;span class="kwd"&gt;string&lt;/span&gt; contextKey){  }  or &lt;br /&gt;[WebMethod]&lt;br /&gt;&lt;span class="kwd"&gt;public string&lt;/span&gt;[] GetCompletionList(&lt;span class="kwd"&gt;string&lt;/span&gt; prefixText, &lt;span class="kwd"&gt;int&lt;/span&gt; count){  } &lt;/pre&gt;&lt;/blockquote&gt;

&lt;p&gt;&lt;b&gt;&lt;a class="" title="faq_v3_3_4" name="faq_v3_3_4"&gt;&lt;/a&gt;3.4 How can I pass additional data to my WebService? [&lt;a href="http://forums.asp.net/t/1422287.aspx#faq_v3_top"&gt;top&lt;/a&gt;]&lt;/b&gt;&lt;/p&gt;

&lt;p&gt;Extender allows the Web Method that it consumes to provide an optional parameter for passing additional data into it. It’s contextKey. &lt;/p&gt;

&lt;p&gt;What we need to do is set the ContextKey property of the Extender to desired value, and then this value can be retrieved from the web method via contextKey parameter which should be the last one of the parameter list.&lt;/p&gt;

&lt;p&gt;Related threads:&lt;br /&gt;&lt;a href="http://forums.asp.net/t/1130558.aspx"&gt;http://forums.asp.net/t/1130558.aspx&lt;/a&gt; &lt;/p&gt;

&lt;p&gt;&lt;b&gt;&lt;a class="" title="faq_v3_3_5" name="faq_v3_3_5"&gt;&lt;/a&gt;3.5&amp;nbsp;How to change contextKey on client side? [&lt;a href="http://forums.asp.net/t/1422287.aspx#faq_v3_top"&gt;top&lt;/a&gt;]&lt;/b&gt;&lt;/p&gt;

&lt;p&gt;Extenders provide a set_contextKey method on client side that enables changing contextKey on client side. For example: &lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;span style="font-size:9pt;"&gt;$find(&lt;span&gt;&amp;quot;BevaviorID of the Extender&amp;quot;&lt;/span&gt;).set_contextKey(&lt;span&gt;&amp;quot;Desired Contextkey&amp;quot;&lt;/span&gt;);&lt;/span&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Related thread:&lt;br /&gt;&lt;a href="http://forums.asp.net/t/1155780.aspx"&gt;http://forums.asp.net/t/1155780.aspx&lt;/a&gt; &lt;/p&gt;

&lt;hr /&gt;

&lt;p&gt;&lt;b&gt;&lt;font size="3"&gt;4. Events&lt;/font&gt;&lt;/b&gt;&lt;/p&gt;

&lt;p&gt;&lt;b&gt;&lt;a class="" title="faq_v3_4_1" name="faq_v3_4_1"&gt;&lt;/a&gt;4.1 How do I attach to a DOM event? [&lt;a href="http://forums.asp.net/t/1422287.aspx#faq_v3_top"&gt;top&lt;/a&gt;]&lt;/b&gt;&lt;/p&gt;

&lt;p&gt;We can use $addHandler to attach a DOM event handler. For example:&amp;nbsp; &lt;/p&gt;

&lt;blockquote&gt;
&lt;pre class="coloredcode"&gt;&amp;lt;&lt;span class="tag"&gt;script&lt;/span&gt;&lt;span class="attr"&gt; type=&lt;/span&gt;&lt;span class="attrv"&gt;&amp;quot;text/javascript&amp;quot;&lt;/span&gt;&amp;gt;&lt;br /&gt;function pageLoad()&lt;br /&gt;{&lt;br /&gt;    var ddl=$get(&amp;quot;DropDownList1&amp;quot;);&lt;br /&gt;    $addHandler(ddl, &amp;quot;change&amp;quot;, onChange);&lt;br /&gt;}        &lt;br /&gt;&lt;br /&gt;function onChange(sender)&lt;br /&gt;{&lt;br /&gt;    alert(&amp;#39;aaa&amp;#39;);&lt;br /&gt;}&lt;br /&gt;&amp;lt;/&lt;span class="tag"&gt;script&lt;/span&gt;&amp;gt;&amp;nbsp;&lt;/pre&gt;&lt;/blockquote&gt;

&lt;p&gt;&lt;b&gt;&lt;a class="" title="faq_v3_4_2" name="faq_v3_4_2"&gt;&lt;/a&gt;4.2&amp;nbsp;How do I attach to an event raised by a behavior? [&lt;a href="http://forums.asp.net/t/1422287.aspx#faq_v3_top"&gt;top&lt;/a&gt;]&lt;/b&gt;&lt;/p&gt;

&lt;p&gt;Most of extenders have already provided functions for attaching event handler. We need to get the reference to the component first with $find method. Then invoke a corresponding function to attach an event handler. For example, below code shows how to add a hiding event handler to a modalPopup. &lt;/p&gt;

&lt;blockquote&gt;
&lt;pre class="coloredcode"&gt;var modalPopup = $find(&amp;#39;mpe&amp;#39;); &lt;br /&gt;modalPopup.add_hiding(onHiding);&lt;br /&gt;&lt;br /&gt;function onHiding(sender, args){&lt;br /&gt;}&amp;nbsp;&lt;/pre&gt;&lt;/blockquote&gt;

&lt;p&gt;It’s possible to find out what events are supported by an Extender by looking into its source code.&amp;nbsp; Please also refer to question “Can I change the value of a property dynamically on the client?”&lt;/p&gt;

&lt;p&gt;&lt;b&gt;&lt;a class="" title="faq_v3_4_3" name="faq_v3_4_3"&gt;&lt;/a&gt;4.3&amp;nbsp;How do I cancel an event? [&lt;a href="http://forums.asp.net/t/1422287.aspx#faq_v3_top"&gt;top&lt;/a&gt;]&lt;/b&gt;&lt;/p&gt;

&lt;p&gt;We can use $removeHandler or $clearHandler function to achieve this. For example:&amp;nbsp; &lt;/p&gt;

&lt;blockquote&gt;
&lt;pre class="coloredcode"&gt;var ddl=$get(&amp;quot;DropDownList1&amp;quot;);&lt;br /&gt;&lt;br /&gt;$removeHandler(ddl, &amp;quot;change&amp;quot;, onChange);&amp;nbsp;&lt;/pre&gt;&lt;/blockquote&gt;

&lt;hr /&gt;

&lt;p&gt;&lt;b&gt;&lt;font size="3"&gt;5. Localization&lt;/font&gt;&lt;/b&gt;&lt;/p&gt;

&lt;p&gt;&lt;b&gt;&lt;a class="" title="faq_v3_5_1" name="faq_v3_5_1"&gt;&lt;/a&gt;5.1&amp;nbsp;When I reference the no-source Toolkit dll it pulls a lot more dlls and places them in the bin folder of my website, why? [&lt;a href="http://forums.asp.net/t/1422287.aspx#faq_v3_top"&gt;top&lt;/a&gt;]&lt;/b&gt;&lt;/p&gt;

&lt;p&gt;Those additional dlls in different folders like “zh-CHS” are&lt;a href="http://msdn2.microsoft.com/en-us/library/f45fce5x%28VS.71%29.aspx"&gt; satellite assemblies&lt;/a&gt; that contain localized resources for the culture that the folder’s name represents. Resources within them will be automatically used if the site or a page’s UICulture is set to a particular value and the ScriptManager’s EnableScriptLocalization property is set to ture.&lt;/p&gt;

&lt;p&gt;&lt;a href="http://www.codeplex.com/AtlasControlToolkit/Wiki/View.aspx?title=Localization"&gt;This wiki&lt;/a&gt; explains localization in detail.&lt;/p&gt;

&lt;p&gt;&lt;b&gt;&lt;a class="" title="faq_v3_5_2" name="faq_v3_5_2"&gt;&lt;/a&gt;5.2 The Calendar control on my webpage does not seem to be showing the “Today” string in the locale of my browser, why? [&lt;a href="http://forums.asp.net/t/1422287.aspx#faq_v3_top"&gt;top&lt;/a&gt;]&lt;/b&gt;&lt;/p&gt;

&lt;p&gt;We do need to follow the steps described in the question above. And make sure satellite assemblies are in the bin folder of the web site.&lt;/p&gt;

&lt;hr /&gt;

&lt;p&gt;&lt;b&gt;&lt;font size="3"&gt;6. ModalPopup&lt;/font&gt;&lt;/b&gt;&lt;/p&gt;

&lt;p&gt;&lt;b&gt;&lt;a class="" title="faq_v3_6_1" name="faq_v3_6_1"&gt;&lt;/a&gt;6.1&amp;nbsp;My controls briefly appear when the page loads before being hidden (specifically with CollapsiblePanelExtender, PopupControlExtender, etc.) [&lt;a href="http://forums.asp.net/t/1422287.aspx#faq_v3_top"&gt;top&lt;/a&gt;]&lt;/b&gt;&lt;/p&gt;

&lt;p&gt;If you&amp;#39;re using the ASP.NET AJAX Control Toolkit you may notice that when you load the page a control that you wish to be hidden is visible and then disappears (most frequently observed when people try to use CollapsiblePanel and expect it to be collapsed initially or have a PopupControl that should be hidden until a user clicks something). This occurs because of the delay between when the page first renders and when the JavaScript is run to modify it. In order to avoid this problem altogether, we recommend you have all of the controls positioned and styled as you would expect them to look after the script has initialized them.&lt;/p&gt;

&lt;p&gt;For example, with CollapsiblePanel you should set its &lt;span style="line-height:115%;color:red;font-size:9pt;"&gt;Height&lt;/span&gt;&lt;span style="line-height:115%;color:blue;font-size:9pt;"&gt;=&amp;quot;0px&amp;quot;&lt;/span&gt;(or whatever your CollapsedSize property is – in this case 0) and add set it to not overflow using &lt;span style="color:red;font-size:9pt;"&gt;style&lt;/span&gt;&lt;span style="color:blue;font-size:9pt;"&gt;=&amp;quot;&lt;/span&gt;&lt;span style="color:red;font-size:9pt;"&gt;overflow&lt;/span&gt;&lt;span style="font-size:9pt;"&gt;: &lt;span style="color:blue;"&gt;hidden&lt;/span&gt;;&lt;span style="color:blue;"&gt;&amp;quot;&lt;/span&gt;&lt;/span&gt;. If you have a PopupControl you should set it&amp;#39;s visibility to false using &lt;span style="color:red;font-size:9pt;"&gt;style&lt;/span&gt;&lt;span style="color:blue;font-size:9pt;"&gt;=&amp;quot;visibility: false;&amp;quot;&lt;/span&gt;. Do not use the ASP.NET property &lt;span style="color:red;font-size:9pt;"&gt;Visible&lt;/span&gt;&lt;span style="color:blue;font-size:9pt;"&gt;=&amp;quot;false&amp;quot;&lt;/span&gt; because this will prevent your control from rendering on the client.&lt;/p&gt;

&lt;p&gt;Related threads: &lt;br /&gt;&lt;a href="http://forums.asp.net/thread/1261054.aspx"&gt;&lt;font color="#034efa"&gt;Popup Exender panel flickers&lt;/font&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://forums.asp.net/thread/1263631.aspx"&gt;&lt;font color="#034efa"&gt;CollapsiblePanelExtender issue&lt;/font&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://forums.asp.net/thread/1264499.aspx"&gt;&lt;font color="#034efa"&gt;Slow Loading HoverMenu&lt;/font&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://forums.asp.net/thread/1274693.aspx"&gt;&lt;font color="#034efa"&gt;DragPanelExtender initially non-visible&lt;/font&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;b&gt;&lt;a class="" title="faq_v3_6_2" name="faq_v3_6_2"&gt;&lt;/a&gt;6.2&amp;nbsp;How do I create a ModalPopup programmatically? [&lt;a href="http://forums.asp.net/t/1422287.aspx#faq_v3_top"&gt;top&lt;/a&gt;]&lt;/b&gt;&lt;/p&gt;

&lt;p&gt;There are two ways to create it programmatically, on server side and on client side.&lt;/p&gt;

&lt;p&gt;Server side&lt;/p&gt;

&lt;p&gt;To create it on server side, we need to create an instance of ModalPopupExtender class, add it to the page, and set its properties accordingly. Below is the relevant code snippet:&amp;nbsp; &lt;/p&gt;

&lt;blockquote&gt;
&lt;pre class="coloredcode"&gt;&lt;span class="kwd"&gt;protected void&lt;/span&gt; Page_Load(&lt;span class="kwd"&gt;object&lt;/span&gt; sender, EventArgs e)&lt;br /&gt;{&lt;br /&gt;     ModalPopupExtender mpe = &lt;span class="kwd"&gt;new&lt;/span&gt; ModalPopupExtender();&lt;br /&gt;     Page.Form.Controls.Add(mpe);&lt;br /&gt;     mpe.TargetControlID = &lt;span class="st"&gt;&amp;quot;button1&amp;quot;&lt;/span&gt;;&lt;br /&gt;     mpe.PopupControlID = &lt;span class="st"&gt;&amp;quot;popup&amp;quot;&lt;/span&gt;;&lt;br /&gt;}&amp;nbsp;&lt;/pre&gt;&lt;/blockquote&gt;

&lt;p&gt;Client side&lt;/p&gt;

&lt;p&gt;It&amp;#39;s also possible to create it with below javascript:&amp;nbsp; &lt;/p&gt;

&lt;blockquote&gt;
&lt;pre class="coloredcode"&gt;$create(AjaxControlToolkit.ModalPopupBehavior, &lt;br /&gt;       {&amp;quot;OkControlID&amp;quot;:&amp;quot;Button2&amp;quot;,&lt;br /&gt;       &amp;quot;PopupControlID&amp;quot;:&amp;quot;Panel1&amp;quot;,&lt;br /&gt;       &amp;quot;PopupDragHandleControlID&amp;quot;:&amp;quot;Panel2&amp;quot;,&lt;br /&gt;       &amp;quot;&amp;quot;id&amp;quot;:&amp;quot;mpe&amp;quot;}, &lt;br /&gt;       null, null, &lt;br /&gt;       $get(&amp;quot;Button1&amp;quot;));&amp;nbsp;&lt;/pre&gt;&lt;/blockquote&gt;

&lt;p&gt;As a matter of fact, we can find out the code above by viewing the source of the generated page. &lt;/p&gt;

&lt;p&gt;Generally, these two approaches can be applied to most of extender controls.&lt;/p&gt;

&lt;p&gt;&lt;b&gt;&lt;a class="" title="faq_v3_6_3" name="faq_v3_6_3"&gt;&lt;/a&gt;6.3 What if multiple TargetControls for the ModalPopup? [&lt;a href="http://forums.asp.net/t/1422287.aspx#faq_v3_top"&gt;top&lt;/a&gt;]&lt;/b&gt;&lt;/p&gt;

&lt;p&gt;A ModalPopup doesn&amp;#39;t allow this natively, but it’s still possible to achieve by manipulating the modalpopup control with javascript directly. &lt;br /&gt;Let&amp;#39;s say there are two buttons(btnA, btnB) to be set as the target control. &lt;/p&gt;

&lt;p&gt;&amp;nbsp; 1.&amp;nbsp;We set btnA to be the target control with modalpopup&amp;#39;s TargetControlID.&amp;nbsp;&lt;br /&gt;&amp;nbsp; 2.&amp;nbsp;Assign a behaviorID to modalpopup.&amp;nbsp;&lt;br /&gt;&amp;nbsp; 3.&amp;nbsp;Attach the following javascript function as the click event handler to btnB.&lt;/p&gt;

&lt;blockquote&gt;
&lt;pre class="coloredcode"&gt;function onClick()&lt;br /&gt;{&lt;br /&gt;    $find(“behaviorIDofModalPopup”).show();&lt;br /&gt;}&amp;nbsp;&lt;/pre&gt;&lt;/blockquote&gt;

&lt;p&gt;&lt;b&gt;&lt;a class="" title="faq_v3_6_4" name="faq_v3_6_4"&gt;&lt;/a&gt;6.4&amp;nbsp;How do I show the ModalPopup from the server? [&lt;a href="http://forums.asp.net/t/1422287.aspx#faq_v3_top"&gt;top&lt;/a&gt;]&lt;/b&gt;&lt;/p&gt;

&lt;p&gt;It’s quite straightforward by calling ModapPopup’s Show method on server side.&lt;/p&gt;

&lt;p&gt;&lt;b&gt;&lt;a class="" title="faq_v3_6_5" name="faq_v3_6_5"&gt;&lt;/a&gt;6.5&amp;nbsp;How to keep ModalPopupExtender after full PostBack? [&lt;a href="http://forums.asp.net/t/1422287.aspx#faq_v3_top"&gt;top&lt;/a&gt;]&lt;/b&gt;&lt;/p&gt;

&lt;p&gt;When a ModalPopupExtender is already opened, it will be closed after a full PostBack. This’s because its client side state(opened or hidden) isn’t maintained automatically. As a result, it will always be hidden initially after a full PostBack. &lt;br /&gt;To solve this, we have following options:&lt;/p&gt;

&lt;p&gt;&amp;nbsp; • Avoid using full PostBack by putting an UpdatePanel inside the ModalPopup.&lt;br /&gt;&amp;nbsp; • Save and restore its state manually on client side.&lt;/p&gt;

&lt;p&gt;Below are two examples for each option: &lt;/p&gt;

&lt;p&gt;Option 1:&amp;nbsp;&amp;nbsp; &lt;/p&gt;

&lt;blockquote&gt;
&lt;pre class="coloredcode"&gt;&lt;span class="dir"&gt;&amp;lt;%@ Page Language=&amp;quot;C#&amp;quot; %&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;&lt;span class="tag"&gt;!DOCTYPE&lt;/span&gt; html PUBLIC &amp;quot;-//W3C//DTD XHTML 1.0 Transitional//EN&amp;quot; &amp;quot;http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd&amp;quot;&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;&lt;span class="tag"&gt;script&lt;/span&gt;&lt;span class="attr"&gt; runat=&lt;/span&gt;&lt;span class="attrv"&gt;&amp;quot;server&amp;quot;&lt;/span&gt;&amp;gt;&lt;br /&gt;    protected void Button2_Click(object sender, EventArgs e)&lt;br /&gt;    {&lt;br /&gt;        Label1.Text = DateTime.Now.ToString();&lt;br /&gt;    }&lt;br /&gt;&amp;lt;/&lt;span class="tag"&gt;script&lt;/span&gt;&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;&lt;span class="tag"&gt;html&lt;/span&gt;&lt;span class="attr"&gt; xmlns=&lt;/span&gt;&lt;span class="attrv"&gt;&amp;quot;http://www.w3.org/1999/xhtml&amp;quot;&lt;/span&gt;&amp;gt;&lt;br /&gt;&amp;lt;&lt;span class="tag"&gt;head&lt;/span&gt;&lt;span class="attr"&gt; id=&lt;/span&gt;&lt;span class="attrv"&gt;&amp;quot;Head1&amp;quot;&lt;/span&gt;&lt;span class="attr"&gt; runat=&lt;/span&gt;&lt;span class="attrv"&gt;&amp;quot;server&amp;quot;&lt;/span&gt;&amp;gt;&lt;br /&gt;    &amp;lt;&lt;span class="tag"&gt;title&lt;/span&gt;&amp;gt;Untitled Page&amp;lt;/&lt;span class="tag"&gt;title&lt;/span&gt;&amp;gt;&lt;br /&gt;&amp;lt;/&lt;span class="tag"&gt;head&lt;/span&gt;&amp;gt;&lt;br /&gt;&amp;lt;&lt;span class="tag"&gt;body&lt;/span&gt;&amp;gt;&lt;br /&gt;    &amp;lt;&lt;span class="tag"&gt;form&lt;/span&gt;&lt;span class="attr"&gt; id=&lt;/span&gt;&lt;span class="attrv"&gt;&amp;quot;form1&amp;quot;&lt;/span&gt;&lt;span class="attr"&gt; runat=&lt;/span&gt;&lt;span class="attrv"&gt;&amp;quot;server&amp;quot;&lt;/span&gt;&amp;gt;&lt;br /&gt;    &amp;lt;&lt;span class="tag"&gt;div&lt;/span&gt;&amp;gt;&lt;br /&gt;        &amp;lt;&lt;span class="tag"&gt;asp:ScriptManager&lt;/span&gt;&lt;span class="attr"&gt; ID=&lt;/span&gt;&lt;span class="attrv"&gt;&amp;quot;ScriptManager1&amp;quot;&lt;/span&gt;&lt;span class="attr"&gt; runat=&lt;/span&gt;&lt;span class="attrv"&gt;&amp;quot;server&amp;quot;&lt;/span&gt;&amp;gt;&lt;br /&gt;        &amp;lt;/&lt;span class="tag"&gt;asp:ScriptManager&lt;/span&gt;&amp;gt;&lt;br /&gt;        &amp;lt;&lt;span class="tag"&gt;asp:Button&lt;/span&gt;&lt;span class="attr"&gt; ID=&lt;/span&gt;&lt;span class="attrv"&gt;&amp;quot;Button1&amp;quot;&lt;/span&gt;&lt;span class="attr"&gt; runat=&lt;/span&gt;&lt;span class="attrv"&gt;&amp;quot;server&amp;quot;&lt;/span&gt;&lt;span class="attr"&gt; Text=&lt;/span&gt;&lt;span class="attrv"&gt;&amp;quot;Show modal popup&amp;quot;&lt;/span&gt; /&amp;gt;&lt;br /&gt;        &amp;lt;&lt;span class="tag"&gt;asp:Button&lt;/span&gt;&lt;span class="attr"&gt; ID=&lt;/span&gt;&lt;span class="attrv"&gt;&amp;quot;Button2&amp;quot;&lt;/span&gt;&lt;span class="attr"&gt; runat=&lt;/span&gt;&lt;span class="attrv"&gt;&amp;quot;server&amp;quot;&lt;/span&gt;&lt;span class="attr"&gt; Text=&lt;/span&gt;&lt;span class="attrv"&gt;&amp;quot;Trigger PostBack&amp;quot;&lt;/span&gt;&lt;span class="attr"&gt; OnClick=&lt;/span&gt;&lt;span class="attrv"&gt;&amp;quot;Button2_Click&amp;quot;&lt;/span&gt; /&amp;gt;&lt;br /&gt;        &amp;lt;&lt;span class="tag"&gt;asp:HiddenField&lt;/span&gt;&lt;span class="attr"&gt; ID=&lt;/span&gt;&lt;span class="attrv"&gt;&amp;quot;HiddenField1&amp;quot;&lt;/span&gt;&lt;span class="attr"&gt; runat=&lt;/span&gt;&lt;span class="attrv"&gt;&amp;quot;server&amp;quot;&lt;/span&gt; /&amp;gt;&lt;br /&gt;        &amp;lt;&lt;span class="tag"&gt;ajaxtoolkit:modalpopupextender&lt;/span&gt;&lt;span class="attr"&gt; id=&lt;/span&gt;&lt;span class="attrv"&gt;&amp;quot;ModalPopupExtender1&amp;quot;&lt;/span&gt;&lt;span class="attr"&gt; behaviorid=&lt;/span&gt;&lt;span class="attrv"&gt;&amp;quot;mpe&amp;quot;&lt;/span&gt;&lt;span class="attr"&gt; runat=&lt;/span&gt;&lt;span class="attrv"&gt;&amp;quot;server&amp;quot;&lt;/span&gt;&lt;br /&gt;&lt;span class="attr"&gt;            popupcontrolid=&lt;/span&gt;&lt;span class="attrv"&gt;&amp;quot;Panel1&amp;quot;&lt;/span&gt;&lt;span class="attr"&gt; targetcontrolid=&lt;/span&gt;&lt;span class="attrv"&gt;&amp;quot;Button1&amp;quot;&lt;/span&gt;&amp;gt;&lt;br /&gt;&lt;br /&gt;        &amp;lt;/&lt;span class="tag"&gt;ajaxtoolkit:modalpopupextender&lt;/span&gt;&amp;gt;&lt;br /&gt;        &amp;lt;&lt;span class="tag"&gt;asp:Panel&lt;/span&gt;&lt;span class="attr"&gt; ID=&lt;/span&gt;&lt;span class="attrv"&gt;&amp;quot;Panel1&amp;quot;&lt;/span&gt;&lt;span class="attr"&gt; runat=&lt;/span&gt;&lt;span class="attrv"&gt;&amp;quot;server&amp;quot;&lt;/span&gt;&amp;gt;&lt;br /&gt;            &amp;lt;&lt;span class="tag"&gt;asp:UpdatePanel&lt;/span&gt;&lt;span class="attr"&gt; ID=&lt;/span&gt;&lt;span class="attrv"&gt;&amp;quot;UpdatePanel1&amp;quot;&lt;/span&gt;&lt;span class="attr"&gt; runat=&lt;/span&gt;&lt;span class="attrv"&gt;&amp;quot;server&amp;quot;&lt;/span&gt;&amp;gt;&lt;br /&gt;                &amp;lt;&lt;span class="tag"&gt;ContentTemplate&lt;/span&gt;&amp;gt;&lt;br /&gt;                    &amp;lt;&lt;span class="tag"&gt;asp:Label&lt;/span&gt;&lt;span class="attr"&gt; ID=&lt;/span&gt;&lt;span class="attrv"&gt;&amp;quot;Label1&amp;quot;&lt;/span&gt;&lt;span class="attr"&gt; runat=&lt;/span&gt;&lt;span class="attrv"&gt;&amp;quot;server&amp;quot;&lt;/span&gt;&lt;span class="attr"&gt; Text=&lt;/span&gt;&lt;span class="attrv"&gt;&amp;quot;Label&amp;quot;&lt;/span&gt;&amp;gt;&amp;lt;/&lt;span class="tag"&gt;asp:Label&lt;/span&gt;&amp;gt;&lt;br /&gt;                &amp;lt;/&lt;span class="tag"&gt;ContentTemplate&lt;/span&gt;&amp;gt;&lt;br /&gt;                &amp;lt;&lt;span class="tag"&gt;Triggers&lt;/span&gt;&amp;gt;&lt;br /&gt;                    &amp;lt;&lt;span class="tag"&gt;asp:AsyncPostBackTrigger&lt;/span&gt;&lt;span class="attr"&gt; ControlID=&lt;/span&gt;&lt;span class="attrv"&gt;&amp;quot;Button2&amp;quot;&lt;/span&gt; /&amp;gt;&lt;br /&gt;                &amp;lt;/&lt;span class="tag"&gt;Triggers&lt;/span&gt;&amp;gt;&lt;br /&gt;            &amp;lt;/&lt;span class="tag"&gt;asp:UpdatePanel&lt;/span&gt;&amp;gt;&lt;br /&gt;            Modal Popup&lt;br /&gt;        &amp;lt;/&lt;span class="tag"&gt;asp:Panel&lt;/span&gt;&amp;gt;&lt;br /&gt;    &amp;lt;/&lt;span class="tag"&gt;div&lt;/span&gt;&amp;gt;&lt;br /&gt;    &amp;lt;/&lt;span class="tag"&gt;form&lt;/span&gt;&amp;gt;&lt;br /&gt;&amp;lt;/&lt;span class="tag"&gt;body&lt;/span&gt;&amp;gt;&lt;br /&gt;&amp;lt;/&lt;span class="tag"&gt;html&lt;/span&gt;&amp;gt;&lt;/pre&gt;&lt;/blockquote&gt;

&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;Option 2:&lt;/p&gt;

&lt;p&gt;&amp;nbsp; 1. Add a onShown event handler to the ModalPopupExtender.&lt;br /&gt;&amp;nbsp; 2. Add a onHidden event handler to the ModalPopupExtender.&lt;br /&gt;&amp;nbsp; 3. Set the HiddenField’s value to “shown” or “hidden” in the above functions accordingly.&lt;br /&gt;&amp;nbsp; 4. In pageLoad function, call show function if the HiddenField’s value is &amp;quot;shown&amp;quot;.&lt;/p&gt;

&lt;p&gt;Here is the essential code snippet. &amp;nbsp; &lt;/p&gt;

&lt;blockquote&gt;
&lt;pre class="coloredcode"&gt;&amp;lt;&lt;span class="tag"&gt;script&lt;/span&gt;&lt;span class="attr"&gt; type=&lt;/span&gt;&lt;span class="attrv"&gt;&amp;quot;text/javascript&amp;quot;&lt;/span&gt;&amp;gt;&lt;br /&gt;&lt;br /&gt;    function pageLoad()&lt;br /&gt;    {&lt;br /&gt;        var mpe = $find(&amp;quot;mpe&amp;quot;);&lt;br /&gt;        mpe.add_shown(onShown);&lt;br /&gt;        mpe.add_hidden(onHidden);      &lt;br /&gt;&lt;br /&gt;        var shown = ($get(&amp;quot;HiddenField1&amp;quot;).value == &amp;quot;shown&amp;quot;);&lt;br /&gt;        if(shown)&lt;br /&gt;        {&lt;br /&gt;            mpe.show();&lt;br /&gt;        }&lt;br /&gt;    }   &lt;br /&gt;&lt;br /&gt;    function onShown()&lt;br /&gt;    {&lt;br /&gt;        var hf = $get(&amp;quot;HiddenField1&amp;quot;);&lt;br /&gt;        hf.value = &amp;quot;shown&amp;quot;;&lt;br /&gt;    }&lt;br /&gt;    &lt;br /&gt;    function onHidden()&lt;br /&gt;    {&lt;br /&gt;        var hf = $get(&amp;quot;HiddenField1&amp;quot;);&lt;br /&gt;        hf.value = &amp;quot;hidden&amp;quot;;&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;&amp;lt;/&lt;span class="tag"&gt;script&lt;/span&gt;&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;&lt;span class="tag"&gt;asp:ScriptManager&lt;/span&gt;&lt;span class="attr"&gt; ID=&lt;/span&gt;&lt;span class="attrv"&gt;&amp;quot;ScriptManager2&amp;quot;&lt;/span&gt;&lt;span class="attr"&gt; runat=&lt;/span&gt;&lt;span class="attrv"&gt;&amp;quot;server&amp;quot;&lt;/span&gt;&amp;gt;&lt;br /&gt;&amp;lt;/&lt;span class="tag"&gt;asp:ScriptManager&lt;/span&gt;&amp;gt;&lt;br /&gt;&amp;lt;&lt;span class="tag"&gt;asp:Button&lt;/span&gt;&lt;span class="attr"&gt; ID=&lt;/span&gt;&lt;span class="attrv"&gt;&amp;quot;Button3&amp;quot;&lt;/span&gt;&lt;span class="attr"&gt; runat=&lt;/span&gt;&lt;span class="attrv"&gt;&amp;quot;server&amp;quot;&lt;/span&gt;&lt;span class="attr"&gt; Text=&lt;/span&gt;&lt;span class="attrv"&gt;&amp;quot;Show modal popup&amp;quot;&lt;/span&gt; /&amp;gt;&lt;br /&gt;&amp;lt;&lt;span class="tag"&gt;asp:Button&lt;/span&gt;&lt;span class="attr"&gt; ID=&lt;/span&gt;&lt;span class="attrv"&gt;&amp;quot;Button4&amp;quot;&lt;/span&gt;&lt;span class="attr"&gt; runat=&lt;/span&gt;&lt;span class="attrv"&gt;&amp;quot;server&amp;quot;&lt;/span&gt;&lt;span class="attr"&gt; Text=&lt;/span&gt;&lt;span class="attrv"&gt;&amp;quot;Trigger PostBack&amp;quot;&lt;/span&gt; /&amp;gt;&lt;br /&gt;&amp;lt;&lt;span class="tag"&gt;asp:HiddenField&lt;/span&gt;&lt;span class="attr"&gt; ID=&lt;/span&gt;&lt;span class="attrv"&gt;&amp;quot;HiddenField1&amp;quot;&lt;/span&gt;&lt;span class="attr"&gt; runat=&lt;/span&gt;&lt;span class="attrv"&gt;&amp;quot;server&amp;quot;&lt;/span&gt; /&amp;gt;&lt;br /&gt;&amp;lt;&lt;span class="tag"&gt;ajaxtoolkit:modalpopupextender&lt;/span&gt;&lt;span class="attr"&gt; id=&lt;/span&gt;&lt;span class="attrv"&gt;&amp;quot;ModalPopupExtender1&amp;quot;&lt;/span&gt;&lt;span class="attr"&gt; behaviorid=&lt;/span&gt;&lt;span class="attrv"&gt;&amp;quot;mpe&amp;quot;&lt;/span&gt;&lt;span class="attr"&gt; runat=&lt;/span&gt;&lt;span class="attrv"&gt;&amp;quot;server&amp;quot;&lt;/span&gt;&lt;br /&gt;&lt;span class="attr"&gt;    popupcontrolid=&lt;/span&gt;&lt;span class="attrv"&gt;&amp;quot;Panel1&amp;quot;&lt;/span&gt;&lt;span class="attr"&gt; targetcontrolid=&lt;/span&gt;&lt;span class="attrv"&gt;&amp;quot;Button1&amp;quot;&lt;/span&gt;&amp;gt;&lt;br /&gt;&amp;lt;/&lt;span class="tag"&gt;ajaxtoolkit:modalpopupextender&lt;/span&gt;&amp;gt;&lt;br /&gt;&amp;lt;&lt;span class="tag"&gt;asp:Panel&lt;/span&gt;&lt;span class="attr"&gt; ID=&lt;/span&gt;&lt;span class="attrv"&gt;&amp;quot;Panel1&amp;quot;&lt;/span&gt;&lt;span class="attr"&gt; runat=&lt;/span&gt;&lt;span class="attrv"&gt;&amp;quot;server&amp;quot;&lt;/span&gt;&amp;gt;&lt;br /&gt;    Modal Popup&lt;br /&gt;&amp;lt;/&lt;span class="tag"&gt;asp:Panel&lt;/span&gt;&amp;gt;&lt;/pre&gt;&lt;/blockquote&gt;
Related threads: &lt;br /&gt;&lt;a href="http://forums.asp.net/t/1134216.aspx"&gt;http://forums.asp.net/t/1134216.aspx&lt;/a&gt; &lt;br /&gt;&lt;a href="http://forums.asp.net/t/1135383.aspx"&gt;http://forums.asp.net/t/1135383.aspx&lt;/a&gt; 
&lt;p&gt;&lt;b&gt;&lt;a class="" title="faq_v3_6_6" name="faq_v3_6_6"&gt;&lt;/a&gt;6.6&amp;nbsp;How do I show the ModalPopup during an UpdatePanel refresh? [&lt;a href="http://forums.asp.net/t/1422287.aspx#faq_v3_top"&gt;top&lt;/a&gt;]&lt;/b&gt;&lt;/p&gt;

&lt;p&gt;We can register two methods that will be called when updating start and updating end respectively. Then show and hide the modalpopup inside them.&lt;/p&gt;

&lt;p&gt;Below script function can be used to achieve this:&amp;nbsp; &lt;/p&gt;

&lt;blockquote&gt;
&lt;pre class="coloredcode"&gt;&amp;lt;&lt;span class="tag"&gt;script&lt;/span&gt;&lt;span class="attr"&gt; type=&lt;/span&gt;&lt;span class="attrv"&gt;&amp;quot;text/javascript&amp;quot;&lt;/span&gt;&amp;gt;  &lt;br /&gt;&lt;br /&gt;    Sys.Application.add_load(ApplicationLoadHandler);   &lt;br /&gt;&lt;br /&gt;    function ApplicationLoadHandler(sender, args)&lt;br /&gt;    {&lt;br /&gt;        var prm = Sys.WebForms.PageRequestManager.getInstance();&lt;br /&gt;        if (!prm.get_isInAsyncPostBack())&lt;br /&gt;        {&lt;br /&gt;            prm.add_initializeRequest(initRequest);&lt;br /&gt;            prm.add_endRequest(endRequest);&lt;br /&gt;        }&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    function initRequest(sender, args)&lt;br /&gt;    {&lt;br /&gt;        var pop = $find(&amp;quot;ModalPopupExtender1&amp;quot;);&lt;br /&gt;        pop.show();&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    function endRequest(sender, args)&lt;br /&gt;    {&lt;br /&gt;        var pop = $find(&amp;quot;ModalPopupExtender1&amp;quot;);&lt;br /&gt;        pop.hide();&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;&amp;lt;/&lt;span class="tag"&gt;script&lt;/span&gt;&amp;gt;&amp;nbsp;&lt;/pre&gt;&lt;/blockquote&gt;

&lt;p&gt;&lt;b&gt;&lt;a class="" title="faq_v3_6_7" name="faq_v3_6_7"&gt;&lt;/a&gt;6.7&amp;nbsp;Why the ModalPopupExtender’s&amp;nbsp; OK button doesn’t fire its server side click event? [&lt;a href="http://forums.asp.net/t/1422287.aspx#faq_v3_top"&gt;top&lt;/a&gt;]&lt;/b&gt;&lt;/p&gt;

&lt;p&gt;That’s because ModalPopupExtender prevents it from causing a postback, and just hide the popup. To solve it, don’t specify the button as OKControl for the ModalPopupExtender.&lt;/p&gt;

&lt;p&gt;&amp;nbsp;&lt;/p&gt;

&lt;hr /&gt;

&lt;p&gt;&lt;b&gt;&lt;font size="3"&gt;7. Cascading Dropdown&lt;/font&gt;&lt;/b&gt;&lt;/p&gt;

&lt;p&gt;&lt;font size="2"&gt;&lt;b&gt;&lt;a class="" title="faq_v3_7_1" name="faq_v3_7_1"&gt;&lt;/a&gt;&lt;span style="color:windowtext;"&gt;&lt;span&gt;7.1 &lt;span style="font-family:&amp;#39;Times New Roman&amp;#39;;font-style:normal;font-variant:normal;font-weight:normal;font-size:7pt;line-height:normal;font-size-adjust:none;font-stretch:normal;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color:windowtext;"&gt;How do I use Cascading DropDown with other data sources? [&lt;a href="http://forums.asp.net/t/1422287.aspx#faq_v3_top"&gt;top&lt;/a&gt;]&lt;/span&gt;&lt;span style="color:windowtext;"&gt;&lt;/span&gt;&lt;/b&gt;&lt;/font&gt;&lt;/p&gt;

&lt;p class="MsoNormal"&gt;&lt;span style="line-height:115%;font-family:&amp;#39;Verdana&amp;#39;,&amp;#39;sans-serif&amp;#39;;font-size:10pt;"&gt;Although the sample for the Cascading Drop Down extender works with XML data, it can just as easily work with any other data source such as a database or active directory. We have provided an &lt;a href="http://ajax.asp.net/ajaxtoolkit/Walkthrough/CCDWithDB.aspx"&gt;&lt;font color="#034efa"&gt;example in the walkthroughs&lt;/font&gt;&lt;/a&gt; that discusses how to do this with a database. If you look carefully at the sample, you&amp;#39;ll see that all it really does is call a webservice that returns an array of &lt;/span&gt;&lt;span style="line-height:115%;font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;"&gt;CascadingDropDownNameValue&lt;/span&gt;&lt;span style="line-height:115%;font-family:&amp;#39;Verdana&amp;#39;,&amp;#39;sans-serif&amp;#39;;font-size:10pt;"&gt; objects. To work with other data sources, just change the implementation of this web method to iterate over your data, build up an array of &lt;/span&gt;&lt;span style="line-height:115%;font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;"&gt;CascadingDropDownNameValue&lt;/span&gt;&lt;span style="line-height:115%;font-family:&amp;#39;Verdana&amp;#39;,&amp;#39;sans-serif&amp;#39;;font-size:10pt;"&gt; objects from it, and return this array.&lt;br /&gt;&lt;br /&gt;If you&amp;#39;re having problems getting this to work, be sure that the parameters of your web methods are exactly the same as in the sample/walkthrough (a requirement of ASP.NET AJAX) and that you&amp;#39;re returning and empty array of objects for the case where there are no results.&lt;br /&gt;&lt;br /&gt;Related threads: &lt;br /&gt;&lt;a href="http://forums.asp.net/thread/1269354.aspx"&gt;&lt;font color="#034efa"&gt;CascadingDropDown and Database&lt;/font&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://forums.asp.net/thread/1280733.aspx"&gt;&lt;font color="#034efa"&gt;Cascading Dropdown List VB error&lt;/font&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p&gt;&lt;b&gt;&lt;a class="" title="faq_v3_7_2" name="faq_v3_7_2"&gt;&lt;/a&gt;&lt;span style="color:windowtext;"&gt;&lt;span&gt;7.2 &lt;span style="font-family:&amp;#39;Times New Roman&amp;#39;;font-style:normal;font-variant:normal;font-weight:normal;font-size:7pt;line-height:normal;font-size-adjust:none;font-stretch:normal;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color:windowtext;"&gt;CascadingDropDown not populating [&lt;a href="http://forums.asp.net/t/1422287.aspx#faq_v3_top"&gt;top&lt;/a&gt;]&lt;/span&gt;&lt;/b&gt;&lt;span style="color:windowtext;"&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal"&gt;&lt;span style="line-height:115%;font-family:&amp;#39;Verdana&amp;#39;,&amp;#39;sans-serif&amp;#39;;font-size:10pt;"&gt;When using the &lt;/span&gt;&lt;span style="line-height:115%;font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;"&gt;CascadingDropDown&lt;/span&gt;&lt;span style="line-height:115%;font-family:&amp;#39;Verdana&amp;#39;,&amp;#39;sans-serif&amp;#39;;font-size:10pt;"&gt;, you should set &lt;/span&gt;&lt;span style="line-height:115%;font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;"&gt;&lt;span style="line-height:115%;color:red;font-size:9pt;"&gt;EnableEventValidation&lt;/span&gt;&lt;span style="line-height:115%;color:blue;font-size:9pt;"&gt;=&amp;quot;false&amp;quot;&lt;/span&gt;&lt;/span&gt;&lt;span style="line-height:115%;font-family:&amp;#39;Verdana&amp;#39;,&amp;#39;sans-serif&amp;#39;;font-size:10pt;"&gt;&amp;nbsp;on the &lt;/span&gt;&lt;span style="line-height:115%;font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;"&gt;Page&lt;/span&gt;&lt;span style="line-height:115%;font-family:&amp;#39;Verdana&amp;#39;,&amp;#39;sans-serif&amp;#39;;font-size:10pt;"&gt; directive.&amp;nbsp; If this is not set, the child dropdown lists will not load their values.&amp;nbsp; See &lt;a href="http://forums.asp.net/post/1281139.aspx"&gt;&lt;font color="#034efa"&gt;this&amp;nbsp;thread&lt;/font&gt;&lt;/a&gt; for an explanation.&lt;/span&gt;&lt;/p&gt;

&lt;p class="MsoNormal"&gt;&lt;span style="line-height:115%;font-family:&amp;#39;Verdana&amp;#39;,&amp;#39;sans-serif&amp;#39;;font-size:10pt;"&gt;An alternative option is you can use ClientScriptManager’s &lt;a href="http://msdn2.microsoft.com/en-us/library/system.web.ui.clientscriptmanager.registerforeventvalidation.aspx"&gt;&lt;font color="#034efa"&gt;RegisterForEventValidation&lt;/font&gt;&lt;/a&gt; method to register possible items in advance. &lt;br /&gt;&lt;br /&gt;Related threads: &lt;br /&gt;&lt;a href="http://forums.asp.net/thread/1281139.aspx"&gt;&lt;font color="#034efa"&gt;CascadingDropDown not populating&lt;/font&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://forums.asp.net/thread/1312322.aspx"&gt;&lt;font color="#034efa"&gt;OK , I have narrowed it down to the CascadingDropDown as being the culprit!&lt;/font&gt;&lt;/a&gt;&lt;br /&gt;&lt;/span&gt;&lt;a href="http://forums.asp.net/t/1139350.aspx"&gt;&lt;font color="#034efa"&gt;cross page postback and cascading dropdown&lt;/font&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;b&gt;&lt;span style="color:windowtext;"&gt;&lt;a class="" title="faq_v3_7_3" name="faq_v3_7_3"&gt;&lt;/a&gt;7.3 Getting the text of the selected item in a CascadingDropDown [&lt;a href="http://forums.asp.net/t/1422287.aspx#faq_v3_top"&gt;top&lt;/a&gt;]&lt;/span&gt;&lt;span style="color:windowtext;"&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;

&lt;p class="MsoNormal"&gt;&lt;span style="line-height:115%;font-family:&amp;#39;Verdana&amp;#39;,&amp;#39;sans-serif&amp;#39;;font-size:10pt;"&gt;Since the &lt;/span&gt;&lt;span style="line-height:115%;font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;"&gt;CascadingDropDown&lt;/span&gt;&lt;span style="line-height:115%;font-family:&amp;#39;Verdana&amp;#39;,&amp;#39;sans-serif&amp;#39;;font-size:10pt;"&gt; populates its lists dynamically, you cannot check the &lt;/span&gt;&lt;span style="line-height:115%;font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;"&gt;SelectedItem.Text&lt;/span&gt;&lt;span style="line-height:115%;font-family:&amp;#39;Verdana&amp;#39;,&amp;#39;sans-serif&amp;#39;;font-size:10pt;"&gt; property on the server in the current release.&amp;nbsp; &lt;a href="http://forums.asp.net/post/1318502.aspx"&gt;&lt;font color="#034efa"&gt;This&amp;nbsp;thread&lt;/font&gt;&lt;/a&gt; suggests a workaround.&lt;br /&gt;&lt;br /&gt;Related threads: &lt;br /&gt;&lt;a href="http://forums.asp.net/thread/1317472.aspx"&gt;&lt;font color="#034efa"&gt;Cascading Dropdown SeletedItem.Text&lt;/font&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://forums.asp.net/thread/1331536.aspx"&gt;&lt;font color="#034efa"&gt;CascadingDropDown and SelectedItem.Text&lt;/font&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p&gt;&amp;nbsp;&lt;/p&gt;

&lt;hr /&gt;

&lt;p&gt;&lt;font size="3"&gt;&lt;b&gt;8. TabContainer&lt;/b&gt;&lt;/font&gt;&lt;/p&gt;

&lt;p&gt;&lt;b&gt;&lt;a class="" title="faq_v3_8_1" name="faq_v3_8_1"&gt;&lt;/a&gt;8.1 How to manipulate TabControl with JavaScript? [&lt;a href="http://forums.asp.net/t/1422287.aspx#faq_v3_top"&gt;top&lt;/a&gt;]&lt;/b&gt;&lt;/p&gt;

&lt;p&gt;Tab pages in TabContainer can be manipulated on client side directly.&amp;nbsp;&lt;/p&gt;

&lt;p&gt;&amp;nbsp; 1. Get a reference to the component on client side via $find function.&lt;br /&gt;&amp;nbsp; 2. Invoke a corresponding function on the component to manipulate it.&lt;/p&gt;

&lt;p&gt;For instance:&amp;nbsp;&amp;nbsp; &lt;/p&gt;

&lt;blockquote&gt;
&lt;pre class="coloredcode"&gt;var tab = $find(“tabContainer’s ClientID”);&lt;br /&gt;tab.set_activeTabIndex(1); // active the second tab panel&lt;br /&gt;tab.getFirstTab().set_enabled(false); // disable the first panel&lt;/pre&gt;&lt;/blockquote&gt;
All of the functions defined in the TabContainer control can be found in the Tabs.js file of AJAX control toolkit’s source code.&lt;br /&gt;&lt;br /&gt;Related thread: &lt;br /&gt;&lt;a href="http://forums.asp.net/t/1179322.aspx"&gt;http://forums.asp.net/t/1179322.aspx&lt;/a&gt; 
&lt;p&gt;&amp;nbsp;&lt;/p&gt;

&lt;hr /&gt;

&lt;p&gt;&lt;font size="3"&gt;&lt;b&gt;9.&amp;nbsp;Accordion&lt;/b&gt;&lt;/font&gt;&lt;/p&gt;

&lt;p&gt;&lt;b&gt;&lt;a class="" title="faq_v3_9_1" name="faq_v3_9_1"&gt;&lt;/a&gt;9.1 &lt;span style="color:windowtext;"&gt;Add an Accordion Pane on client side [&lt;a href="http://forums.asp.net/t/1422287.aspx#faq_v3_top"&gt;top&lt;/a&gt;]&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;span style="color:windowtext;"&gt;
&lt;p class="MsoNormal"&gt;Below is a sample demonstrates how to achieve it:&lt;/p&gt;
&lt;/span&gt;
&lt;blockquote&gt;
&lt;pre class="coloredcode"&gt;&lt;span class="dir"&gt;&amp;lt;%@ Page Language=&amp;quot;C#&amp;quot; %&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;&lt;span class="tag"&gt;!DOCTYPE&lt;/span&gt; html PUBLIC &amp;quot;-//W3C//DTD XHTML 1.0 Transitional//EN&amp;quot; &amp;quot;http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd&amp;quot;&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;&lt;span class="tag"&gt;script&lt;/span&gt;&lt;span class="attr"&gt; runat=&lt;/span&gt;&lt;span class="attrv"&gt;&amp;quot;server&amp;quot;&lt;/span&gt;&amp;gt;&lt;br /&gt;    [System.Web.Services.WebMethod]&lt;br /&gt;    public static string getContent(int index)&lt;br /&gt;    {        &lt;br /&gt;        return &amp;quot;Content of pane &amp;quot; + index.ToString() + &amp;quot;.&amp;lt;&lt;span class="tag"&gt;br&lt;/span&gt;&amp;gt; Generated on &amp;quot; + DateTime.Now.ToString();&lt;br /&gt;    }&lt;br /&gt;&amp;lt;/&lt;span class="tag"&gt;script&lt;/span&gt;&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;&lt;span class="tag"&gt;html&lt;/span&gt;&lt;span class="attr"&gt; xmlns=&lt;/span&gt;&lt;span class="attrv"&gt;&amp;quot;http://www.w3.org/1999/xhtml&amp;quot;&lt;/span&gt;&amp;gt;&lt;br /&gt;&amp;lt;&lt;span class="tag"&gt;head&lt;/span&gt;&lt;span class="attr"&gt; id=&lt;/span&gt;&lt;span class="attrv"&gt;&amp;quot;Head1&amp;quot;&lt;/span&gt;&lt;span class="attr"&gt; runat=&lt;/span&gt;&lt;span class="attrv"&gt;&amp;quot;server&amp;quot;&lt;/span&gt;&amp;gt;&lt;br /&gt;    &amp;lt;&lt;span class="tag"&gt;title&lt;/span&gt;&amp;gt;Untitled Page&amp;lt;/&lt;span class="tag"&gt;title&lt;/span&gt;&amp;gt;&lt;br /&gt;    &amp;lt;&lt;span class="tag"&gt;script&lt;/span&gt;&lt;span class="attr"&gt; type=&lt;/span&gt;&lt;span class="attrv"&gt;&amp;quot;text/javascript&amp;quot;&lt;/span&gt;&amp;gt;&lt;br /&gt;    var holder = null;&lt;br /&gt;    function getContent(index)&lt;br /&gt;    {&lt;br /&gt;        var id = &amp;quot;result&amp;quot; + index;&lt;br /&gt;        holder = $get(id);&lt;br /&gt;        PageMethods.getContent(index, onComplete);&lt;br /&gt;    }&lt;br /&gt;  &lt;br /&gt;    function onComplete(result)&lt;br /&gt;    {&lt;br /&gt;        holder.innerHTML = result;&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    &amp;lt;/&lt;span class="tag"&gt;script&lt;/span&gt;&amp;gt;&lt;br /&gt;&amp;lt;/&lt;span class="tag"&gt;head&lt;/span&gt;&amp;gt;&lt;br /&gt;&amp;lt;&lt;span class="tag"&gt;body&lt;/span&gt;&amp;gt;&lt;br /&gt;    &amp;lt;&lt;span class="tag"&gt;form&lt;/span&gt;&lt;span class="attr"&gt; id=&lt;/span&gt;&lt;span class="attrv"&gt;&amp;quot;form1&amp;quot;&lt;/span&gt;&lt;span class="attr"&gt; runat=&lt;/span&gt;&lt;span class="attrv"&gt;&amp;quot;server&amp;quot;&lt;/span&gt;&amp;gt;&lt;br /&gt;    &amp;lt;&lt;span class="tag"&gt;div&lt;/span&gt;&amp;gt;&lt;br /&gt;        &amp;lt;&lt;span class="tag"&gt;asp:ScriptManager&lt;/span&gt;&lt;span class="attr"&gt; ID=&lt;/span&gt;&lt;span class="attrv"&gt;&amp;quot;Scriptmanager1&amp;quot;&lt;/span&gt;&lt;span class="attr"&gt; runat=&lt;/span&gt;&lt;span class="attrv"&gt;&amp;quot;server&amp;quot;&lt;/span&gt;&lt;span class="attr"&gt; EnablePageMethods=&lt;/span&gt;&lt;span class="attrv"&gt;&amp;quot;true&amp;quot;&lt;/span&gt;&amp;gt;&lt;br /&gt;        &amp;lt;/&lt;span class="tag"&gt;asp:ScriptManager&lt;/span&gt;&amp;gt;&lt;br /&gt;        &amp;lt;&lt;span class="tag"&gt;ajaxtoolkit:accordion&lt;/span&gt;&lt;span class="attr"&gt; id=&lt;/span&gt;&lt;span class="attrv"&gt;&amp;quot;Accordion1&amp;quot;&lt;/span&gt;&lt;span class="attr"&gt; runat=&lt;/span&gt;&lt;span class="attrv"&gt;&amp;quot;server&amp;quot;&lt;/span&gt;&amp;gt;&lt;br /&gt;        &amp;lt;&lt;span class="tag"&gt;Panes&lt;/span&gt;&amp;gt;&lt;br /&gt;            &amp;lt;&lt;span class="tag"&gt;ajaxToolkit:AccordionPane&lt;/span&gt;&lt;span class="attr"&gt; ID=&lt;/span&gt;&lt;span class="attrv"&gt;&amp;quot;AccordionPane1&amp;quot;&lt;/span&gt;&lt;span class="attr"&gt; runat=&lt;/span&gt;&lt;span class="attrv"&gt;&amp;quot;server&amp;quot;&lt;/span&gt;&amp;gt;&lt;br /&gt;                &amp;lt;&lt;span class="tag"&gt;Header&lt;/span&gt;&amp;gt;&lt;br /&gt;                    &amp;lt;&lt;span class="tag"&gt;a&lt;/span&gt;&lt;span class="attr"&gt; href=&lt;/span&gt;&lt;span class="attrv"&gt;&amp;quot;javascript:getContent(1);&amp;quot;&lt;/span&gt;&amp;gt;Header1&amp;lt;/&lt;span class="tag"&gt;a&lt;/span&gt;&amp;gt;&lt;br /&gt;                &amp;lt;/&lt;span class="tag"&gt;Header&lt;/span&gt;&amp;gt;&lt;br /&gt;                &amp;lt;&lt;span class="tag"&gt;Content&lt;/span&gt;&amp;gt;   &lt;br /&gt;                    &amp;lt;&lt;span class="tag"&gt;div&lt;/span&gt;&lt;span class="attr"&gt; id=&lt;/span&gt;&lt;span class="attrv"&gt;&amp;quot;result1&amp;quot;&lt;/span&gt;&amp;gt;&amp;lt;/&lt;span class="tag"&gt;div&lt;/span&gt;&amp;gt;                 &lt;br /&gt;                &amp;lt;/&lt;span class="tag"&gt;Content&lt;/span&gt;&amp;gt;&lt;br /&gt;            &amp;lt;/&lt;span class="tag"&gt;ajaxToolkit:AccordionPane&lt;/span&gt;&amp;gt;&lt;br /&gt;            &amp;lt;&lt;span class="tag"&gt;ajaxToolkit:AccordionPane&lt;/span&gt;&lt;span class="attr"&gt; ID=&lt;/span&gt;&lt;span class="attrv"&gt;&amp;quot;AccordionPane2&amp;quot;&lt;/span&gt;&lt;span class="attr"&gt; runat=&lt;/span&gt;&lt;span class="attrv"&gt;&amp;quot;server&amp;quot;&lt;/span&gt;&amp;gt;&lt;br /&gt;                &amp;lt;&lt;span class="tag"&gt;Header&lt;/span&gt;&amp;gt;&lt;br /&gt;                    &amp;lt;&lt;span class="tag"&gt;a&lt;/span&gt;&lt;span class="attr"&gt; href=&lt;/span&gt;&lt;span class="attrv"&gt;&amp;quot;javascript:getContent(2);&amp;quot;&lt;/span&gt;&amp;gt;Header2&amp;lt;/&lt;span class="tag"&gt;a&lt;/span&gt;&amp;gt;&lt;br /&gt;                &amp;lt;/&lt;span class="tag"&gt;Header&lt;/span&gt;&amp;gt;&lt;br /&gt;                &amp;lt;&lt;span class="tag"&gt;Content&lt;/span&gt;&amp;gt;  &lt;br /&gt;                    &amp;lt;&lt;span class="tag"&gt;div&lt;/span&gt;&lt;span class="attr"&gt; id=&lt;/span&gt;&lt;span class="attrv"&gt;&amp;quot;result2&amp;quot;&lt;/span&gt;&amp;gt;&amp;lt;/&lt;span class="tag"&gt;div&lt;/span&gt;&amp;gt;                    &lt;br /&gt;                &amp;lt;/&lt;span class="tag"&gt;Content&lt;/span&gt;&amp;gt;&lt;br /&gt;            &amp;lt;/&lt;span class="tag"&gt;ajaxToolkit:AccordionPane&lt;/span&gt;&amp;gt;&lt;br /&gt;            &amp;lt;&lt;span class="tag"&gt;ajaxToolkit:AccordionPane&lt;/span&gt;&lt;span class="attr"&gt; ID=&lt;/span&gt;&lt;span class="attrv"&gt;&amp;quot;AccordionPane3&amp;quot;&lt;/span&gt;&lt;span class="attr"&gt; runat=&lt;/span&gt;&lt;span class="attrv"&gt;&amp;quot;server&amp;quot;&lt;/span&gt;&amp;gt;&lt;br /&gt;                &amp;lt;&lt;span class="tag"&gt;Header&lt;/span&gt;&amp;gt;&lt;br /&gt;                    &amp;lt;&lt;span class="tag"&gt;a&lt;/span&gt;&lt;span class="attr"&gt; href=&lt;/span&gt;&lt;span class="attrv"&gt;&amp;quot;javascript:getContent(3);&amp;quot;&lt;/span&gt;&amp;gt;Header3&amp;lt;/&lt;span class="tag"&gt;a&lt;/span&gt;&amp;gt;&lt;br /&gt;                &amp;lt;/&lt;span class="tag"&gt;Header&lt;/span&gt;&amp;gt;&lt;br /&gt;                &amp;lt;&lt;span class="tag"&gt;Content&lt;/span&gt;&amp;gt;  &lt;br /&gt;                    &amp;lt;&lt;span class="tag"&gt;div&lt;/span&gt;&lt;span class="attr"&gt; id=&lt;/span&gt;&lt;span class="attrv"&gt;&amp;quot;result3&amp;quot;&lt;/span&gt;&amp;gt;&amp;lt;/&lt;span class="tag"&gt;div&lt;/span&gt;&amp;gt;                    &lt;br /&gt;                &amp;lt;/&lt;span class="tag"&gt;Content&lt;/span&gt;&amp;gt;&lt;br /&gt;            &amp;lt;/&lt;span class="tag"&gt;ajaxToolkit:AccordionPane&lt;/span&gt;&amp;gt;&lt;br /&gt;        &amp;lt;/&lt;span class="tag"&gt;Panes&lt;/span&gt;&amp;gt;&lt;br /&gt;        &amp;lt;/&lt;span class="tag"&gt;ajaxtoolkit:accordion&lt;/span&gt;&amp;gt;&lt;br /&gt;        &amp;lt;&lt;span class="tag"&gt;div&lt;/span&gt;&lt;span class="attr"&gt; id=&lt;/span&gt;&lt;span class="attrv"&gt;&amp;quot;newHeader&amp;quot;&lt;/span&gt;&amp;gt;&lt;br /&gt;            New Header&amp;lt;/&lt;span class="tag"&gt;div&lt;/span&gt;&amp;gt;&lt;br /&gt;        &amp;lt;&lt;span class="tag"&gt;div&lt;/span&gt;&lt;span class="attr"&gt; id=&lt;/span&gt;&lt;span class="attrv"&gt;&amp;quot;newContent&amp;quot;&lt;/span&gt;&amp;gt;&lt;br /&gt;            New Content&amp;lt;/&lt;span class="tag"&gt;div&lt;/span&gt;&amp;gt;&lt;br /&gt;        &amp;lt;&lt;span class="tag"&gt;input&lt;/span&gt;&lt;span class="attr"&gt; id=&lt;/span&gt;&lt;span class="attrv"&gt;&amp;quot;Button1&amp;quot;&lt;/span&gt;&lt;span class="attr"&gt; type=&lt;/span&gt;&lt;span class="attrv"&gt;&amp;quot;button&amp;quot;&lt;/span&gt;&lt;span class="attr"&gt; value=&lt;/span&gt;&lt;span class="attrv"&gt;&amp;quot;add pane&amp;quot;&lt;/span&gt;&lt;span class="attr"&gt; onclick=&lt;/span&gt;&lt;span class="attrv"&gt;&amp;quot;addNewPane();&amp;quot;&lt;/span&gt; /&amp;gt;&lt;br /&gt;        &amp;lt;&lt;span class="tag"&gt;script&lt;/span&gt;&lt;span class="attr"&gt; type=&lt;/span&gt;&lt;span class="attrv"&gt;&amp;quot;text/javascript&amp;quot;&lt;/span&gt;&amp;gt;&lt;br /&gt;        function addNewPane()&lt;br /&gt;        {&lt;br /&gt;            var acc = $find(&amp;quot;Accordion1_AccordionExtender&amp;quot;);&lt;br /&gt;            var h = $get(&amp;quot;newHeader&amp;quot;);&lt;br /&gt;            var c = $get(&amp;quot;newContent&amp;quot;);&lt;br /&gt;            acc.get_element().appendChild(h);&lt;br /&gt;            acc.get_element().appendChild(c);&lt;br /&gt;            acc.addPane(h,c);&lt;br /&gt;        }&lt;br /&gt;        &amp;lt;/&lt;span class="tag"&gt;script&lt;/span&gt;&amp;gt;&lt;br /&gt;    &amp;lt;/&lt;span class="tag"&gt;div&lt;/span&gt;&amp;gt;&lt;br /&gt;    &amp;lt;/&lt;span class="tag"&gt;form&lt;/span&gt;&amp;gt;&lt;br /&gt;&amp;lt;/&lt;span class="tag"&gt;body&lt;/span&gt;&amp;gt;&lt;br /&gt;&amp;lt;/&lt;span class="tag"&gt;html&lt;/span&gt;&amp;gt;&lt;br /&gt;&lt;/pre&gt;&lt;/blockquote&gt;

&lt;p&gt;&lt;b&gt;&lt;a class="" title="faq_v3_9_2" name="faq_v3_9_2"&gt;&lt;/a&gt;9.2 &lt;span style="color:windowtext;"&gt;How to expand Accordion when moving the mouse over its header? [&lt;a href="http://forums.asp.net/t/1422287.aspx#faq_v3_top"&gt;top&lt;/a&gt;]&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;

&lt;p&gt;&lt;span&gt;We need to find all the header elements and attach mouseover event handler to each of them. For example, &lt;/span&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;pre class="coloredcode"&gt;function pageLoad(){&lt;br /&gt;    &lt;span class="kwd"&gt;for&lt;/span&gt;(var i=0 ; i&amp;lt;$find(&lt;span class="st"&gt;&amp;#39;MyAccordion_AccordionExtender&amp;#39;&lt;/span&gt;).get_Count(); i++)&lt;br /&gt;    {&lt;br /&gt;        $addHandler($find(&lt;span class="st"&gt;&amp;#39;MyAccordion_AccordionExtender&amp;#39;&lt;/span&gt;).get_Pane(i).header,&lt;span class="st"&gt;&amp;quot;mouseover&amp;quot;&lt;/span&gt;,AccordionMouse);&lt;br /&gt;    }  &lt;br /&gt;}&lt;/pre&gt;&lt;/blockquote&gt;
Note: MyAccordion is the Accordion’s ID.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;AccordionMouse function will expand the corresponding AccordionPane.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&lt;blockquote&gt;
&lt;pre class="coloredcode"&gt;function AccordionMouse(sender,eventArgs)&lt;br /&gt;{&lt;br /&gt;    $find(&lt;span class="st"&gt;&amp;#39;MyAccordion_AccordionExtender&amp;#39;&lt;/span&gt;).set_SelectedIndex(sender.target._index);&lt;br /&gt;}&lt;/pre&gt;&lt;/blockquote&gt;

&lt;p&gt;Related thread:&lt;br /&gt;&lt;a href="http://forums.asp.net/p/1179472/2009814.aspx#2009814"&gt;&lt;font color="#034efa"&gt;http://forums.asp.net/p/1179472/2009814.aspx#2009814&lt;/font&gt;&lt;/a&gt;&amp;nbsp;&amp;nbsp;&lt;/p&gt;

&lt;hr /&gt;

&lt;p&gt;&lt;font size="3"&gt;&lt;b&gt;10. Calendar&lt;/b&gt;&lt;/font&gt;&lt;/p&gt;

&lt;p&gt;&lt;b&gt;&lt;a class="" title="faq_v3_10_1" name="faq_v3_10_1"&gt;&lt;/a&gt;10.1&amp;nbsp; How to change the CalendarExtender’s display mode? [&lt;a href="http://forums.asp.net/t/1422287.aspx#faq_v3_top"&gt;top&lt;/a&gt;]&lt;/b&gt;&lt;/p&gt;

&lt;p&gt;CalendarExtender’s default display mode is “Date” mode. To show the “Year” mode, you can use the following code.&amp;nbsp; &amp;nbsp; &lt;/p&gt;

&lt;blockquote&gt;
&lt;pre class="coloredcode"&gt;$find(“ClendarExtender’s ClientID”)._switchMode(&lt;span class="st"&gt;&amp;quot;years&amp;quot;&lt;/span&gt;, &lt;span class="kwd"&gt;true&lt;/span&gt;);&lt;br /&gt;$find(“ClendarExtender’s ClientID”)._switchMode(&lt;span class="st"&gt;&amp;quot;months&amp;quot;&lt;/span&gt;, &lt;span class="kwd"&gt;true&lt;/span&gt;);&lt;/pre&gt;&lt;/blockquote&gt;

&lt;p&gt;For example,&amp;nbsp; &lt;/p&gt;

&lt;blockquote&gt;
&lt;pre class="coloredcode"&gt;&amp;lt;&lt;span class="tag"&gt;asp:TextBox&lt;/span&gt;&lt;span class="attr"&gt; ID=&lt;/span&gt;&lt;span class="attrv"&gt;&amp;quot;TextBox1&amp;quot;&lt;/span&gt;&lt;span class="attr"&gt; runat=&lt;/span&gt;&lt;span class="attrv"&gt;&amp;quot;server&amp;quot;&lt;/span&gt;&amp;gt;&amp;lt;/&lt;span class="tag"&gt;asp:TextBox&lt;/span&gt;&amp;gt;&lt;br /&gt;&amp;lt;&lt;span class="tag"&gt;AJAXToolkit:CalendarExtender&lt;/span&gt;&lt;span class="attr"&gt; ID=&lt;/span&gt;&lt;span class="attrv"&gt;&amp;quot;CalendarExtender1&amp;quot;&lt;/span&gt;&lt;span class="attr"&gt; runat=&lt;/span&gt;&lt;span class="attrv"&gt;&amp;quot;server&amp;quot;&lt;/span&gt;&lt;span class="attr"&gt; TargetControlID=&lt;/span&gt;&lt;span class="attrv"&gt;&amp;quot;TextBox1&amp;quot;&lt;/span&gt;&lt;span class="attr"&gt; Format=&lt;/span&gt;&lt;span class="attrv"&gt;&amp;quot;yyyy-MM-dd&amp;quot;&lt;/span&gt;&lt;span class="attr"&gt; OnClientShown=&lt;/span&gt;&lt;span class="attrv"&gt;&amp;quot;onCalendarShown&amp;quot;&lt;/span&gt;&amp;gt;&lt;br /&gt;&amp;lt;/&lt;span class="tag"&gt;AJAXToolkit:CalendarExtender&lt;/span&gt;&amp;gt;&lt;br /&gt;&amp;lt;&lt;span class="tag"&gt;script&lt;/span&gt;&lt;span class="attr"&gt; type=&lt;/span&gt;&lt;span class="attrv"&gt;&amp;quot;text/javascript&amp;quot;&lt;/span&gt;&lt;span class="attr"&gt; language=&lt;/span&gt;&lt;span class="attrv"&gt;&amp;quot;javascript&amp;quot;&lt;/span&gt;&amp;gt;&lt;br /&gt;    function onCalendarShown(sender,args)&lt;br /&gt;    {&lt;br /&gt;        sender._switchMode(&amp;quot;years&amp;quot;, true);           &lt;br /&gt;    }&lt;br /&gt;&amp;lt;/&lt;span class="tag"&gt;script&lt;/span&gt;&amp;gt; &lt;/pre&gt;&lt;/blockquote&gt;
Notice:&amp;nbsp; _switchMode is a private method so its implementation may change in future releases. 
&lt;p&gt;Related thread: &lt;br /&gt;&lt;a href="http://forums.asp.net/p/1182046/2015437.aspx#2015437"&gt;http://forums.asp.net/p/1182046/2015437.aspx#2015437&lt;/a&gt; &lt;/p&gt;

&lt;hr /&gt;

&lt;p&gt;&lt;font size="3"&gt;&lt;b&gt;11. DragPanel&lt;/b&gt;&lt;/font&gt;&lt;/p&gt;

&lt;p&gt;&lt;font size="2"&gt;&lt;b&gt;&lt;span style="color:windowtext;"&gt;&lt;a class="" title="faq_v3_11_1" name="faq_v3_11_1"&gt;&lt;/a&gt;11.1 My DragPanels overlap and don&amp;#39;t remain where they are dropped? [&lt;a href="http://forums.asp.net/t/1422287.aspx#faq_v3_top"&gt;top&lt;/a&gt;]&lt;/span&gt;&lt;/b&gt;&lt;/font&gt;&lt;/p&gt;
&lt;font size="2"&gt;&lt;span&gt;
&lt;p&gt;&lt;span style="font-family:&amp;#39;Verdana&amp;#39;,&amp;#39;sans-serif&amp;#39;;font-size:10pt;"&gt;One of the first things that the DragPanel does to your target control is get its current position, set absolute positioning, and then move the control to its original position. When you do this, it causes any controls after it to slide into the empty space left by making it absolutely positioned. This can also cause multiple DragPanels to overlap. We recommend that you place controls that you plan to extend with DragPanels inside &lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;"&gt;div&lt;/span&gt;&lt;span style="font-family:&amp;#39;Verdana&amp;#39;,&amp;#39;sans-serif&amp;#39;;font-size:10pt;"&gt;s of the same size that will preserve your layout once the DragPanel gets wired up.&lt;br /&gt;&lt;br /&gt;Another problem that people have has to do with drag panels not remaining still when they are dropped past the end of the document&amp;#39;s content. This is a known issue with ASP.NET AJAX and some of the threads below suggest various workarounds.&lt;/span&gt;&lt;/p&gt;

&lt;p&gt;&lt;span style="font-family:&amp;#39;Verdana&amp;#39;,&amp;#39;sans-serif&amp;#39;;font-size:10pt;"&gt;Related threads: &lt;br /&gt;&lt;a href="http://forums.asp.net/thread/1263886.aspx"&gt;&lt;font color="#034efa"&gt;2 DragPanel on the sample place&lt;/font&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://forums.asp.net/thread/1265095.aspx"&gt;&lt;font color="#034efa"&gt;Creating DragPanel dynamicly&lt;/font&gt;&lt;/a&gt;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Verdana&amp;#39;,&amp;#39;sans-serif&amp;#39;;font-size:10pt;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/span&gt;&lt;/font&gt;
&lt;hr /&gt;

&lt;p&gt;&lt;font size="3"&gt;&lt;b&gt;12. Slider&lt;/b&gt;&lt;/font&gt;&lt;/p&gt;

&lt;p&gt;&lt;b&gt;&lt;a class="" title="faq_v3_12_1" name="faq_v3_12_1"&gt;&lt;/a&gt;12.1 How to disable/enable the SliderControl? [&lt;a href="http://forums.asp.net/t/1422287.aspx#faq_v3_top"&gt;top&lt;/a&gt;]&lt;/b&gt;&lt;/p&gt;

&lt;p&gt;To disable the SliderControl, we can call the following function to remove all the handlers on its handle. For more information about $clearHandler, please refer to&amp;nbsp; this document: (&lt;a href="http://www.asp.net/AJAX/Documentation/Live/ClientReference/Global/ClearHandlersShortcutMethod.aspx"&gt;http://www.asp.net/AJAX/Documentation/Live/ClientReference/Global/ClearHandlersShortcutMethod.aspx&lt;/a&gt;).&lt;/p&gt;

&lt;blockquote&gt;
&lt;pre class="coloredcode"&gt;function disableSlider()&lt;br /&gt;{&lt;br /&gt;    $clearHandlers($find(&lt;span class="st"&gt;&amp;#39;Slider1&amp;#39;&lt;/span&gt;)._handle);&lt;br /&gt;    $clearHandlers($find(&lt;span class="st"&gt;&amp;#39;Slider1&amp;#39;&lt;/span&gt;)._railElement);&lt;br /&gt;}&lt;/pre&gt;&lt;/blockquote&gt;

&lt;p&gt;To enable the SliderControl, we can use the following function to add all the handlers. For more information about $addHandler, please refer to&amp;nbsp; this document: (&lt;a href="http://www.asp.net/AJAX/Documentation/Live/ClientReference/Global/AddHandlersShortcutMethod.aspx"&gt;http://www.asp.net/AJAX/Documentation/Live/ClientReference/Global/AddHandlersShortcutMethod.aspx&lt;/a&gt;).&amp;nbsp;&amp;nbsp; &lt;/p&gt;

&lt;blockquote&gt;
&lt;pre class="coloredcode"&gt;function enableSlider()&lt;br /&gt;{&lt;br /&gt;    $addHandlers($find(&lt;span class="st"&gt;&amp;#39;Slider1&amp;#39;&lt;/span&gt;)._handle,&lt;br /&gt;    {&lt;br /&gt;       &lt;span class="st"&gt;&amp;#39;mousedown&amp;#39;&lt;/span&gt;: $find(&lt;span class="st"&gt;&amp;#39;Slider1&amp;#39;&lt;/span&gt;)._onMouseDown,&lt;br /&gt;       &lt;span class="st"&gt;&amp;#39;dragstart&amp;#39;&lt;/span&gt;: $find(&lt;span class="st"&gt;&amp;#39;Slider1&amp;#39;&lt;/span&gt;)._IEDragDropHandler,&lt;br /&gt;       &lt;span class="st"&gt;&amp;#39;drag&amp;#39;&lt;/span&gt;: $find(&lt;span class="st"&gt;&amp;#39;Slider1&amp;#39;&lt;/span&gt;)._IEDragDropHandler,&lt;br /&gt;       &lt;span class="st"&gt;&amp;#39;dragend&amp;#39;&lt;/span&gt;: $find(&lt;span class="st"&gt;&amp;#39;Slider1&amp;#39;&lt;/span&gt;)._IEDragDropHandler&lt;br /&gt;    },$find(&lt;span class="st"&gt;&amp;#39;Slider1&amp;#39;&lt;/span&gt;));&lt;br /&gt;             &lt;br /&gt;    $addHandlers($find(&lt;span class="st"&gt;&amp;#39;Slider1&amp;#39;&lt;/span&gt;)._railElement,&lt;br /&gt;    {&lt;br /&gt;           &lt;span class="st"&gt;&amp;#39;click&amp;#39;&lt;/span&gt;: $find(&lt;span class="st"&gt;&amp;#39;Slider1&amp;#39;&lt;/span&gt;)._onRailClick&lt;br /&gt;    }, $find(&lt;span class="st"&gt;&amp;#39;Slider1&amp;#39;&lt;/span&gt;));&lt;br /&gt;}&lt;/pre&gt;&lt;/blockquote&gt;
We can call the Extender’s dispose() function to disable it.&amp;nbsp; We can call initialize() function to enable it.Here is a sample to disable and enable a DropDownExtender. 
&lt;blockquote&gt;
&lt;pre class="coloredcode"&gt;function setDisabled()&lt;br /&gt;{&lt;br /&gt;   $find(&lt;span class="st"&gt;&amp;quot;DropDownExtender’s BehaviorID&amp;quot;&lt;/span&gt;).dispose();&lt;br /&gt;}&lt;br /&gt;function setEnabled()&lt;br /&gt;{&lt;br /&gt;    $create(AjaxControlToolkit.DropDownBehavior, {&lt;span class="st"&gt;&amp;quot;dropDownControl&amp;quot;&lt;/span&gt;:$&lt;span class="kwd"&gt;get&lt;/span&gt;(&lt;span class="st"&gt;&amp;quot;DropPanel&amp;quot;&lt;/span&gt;),&lt;span class="st"&gt;&amp;quot;dynamicServicePath&amp;quot;&lt;/span&gt;:&lt;span class="st"&gt;&amp;quot;/ControlToolkitTest/DropDown/Disabled.aspx&amp;quot;&lt;/span&gt;,&lt;span class="st"&gt;&amp;quot;id&amp;quot;&lt;/span&gt;:&lt;span class="st"&gt;&amp;quot;DDEBID&amp;quot;&lt;/span&gt;}, &lt;span class="kwd"&gt;null&lt;/span&gt;, &lt;span class="kwd"&gt;null&lt;/span&gt;, $&lt;span class="kwd"&gt;get&lt;/span&gt;(&lt;span class="st"&gt;&amp;quot;TextLabel&amp;quot;&lt;/span&gt;));&lt;br /&gt;}&lt;/pre&gt;&lt;/blockquote&gt;

&lt;p&gt;Related thread: &lt;br /&gt;&lt;a href="http://forums.asp.net/p/1154395/1895548.aspx#1895548"&gt;http://forums.asp.net/p/1154395/1895548.aspx#1895548&lt;/a&gt;&lt;/p&gt;

&lt;hr /&gt;

&lt;p&gt;&lt;b&gt;&lt;font size="3"&gt;13. Rating&lt;/font&gt;&lt;/b&gt;&lt;/p&gt;

&lt;p&gt;&lt;b&gt;&lt;a class="" title="faq_v3_13_1" name="faq_v3_13_1"&gt;&lt;/a&gt;13.1 How to change the Rating Control’s title property? [&lt;a href="http://forums.asp.net/t/1422287.aspx#faq_v3_top"&gt;top&lt;/a&gt;]&lt;/b&gt;&lt;/p&gt;

&lt;p&gt;Sometimes, we want to show characters instead of digits when the mouse is moving to the star. How can we achieve this?&amp;nbsp; We can find the elements and change its title property.&amp;nbsp; For example,&amp;nbsp;&amp;nbsp; &lt;/p&gt;

&lt;blockquote&gt;
&lt;pre class="coloredcode"&gt;&amp;lt;&lt;span class="tag"&gt;AJAXToolkit:Rating&lt;/span&gt;&lt;span class="attr"&gt; ID=&lt;/span&gt;&lt;span class="attrv"&gt;&amp;quot;Rating1&amp;quot;&lt;/span&gt;&lt;span class="attr"&gt; BehaviorID=&lt;/span&gt;&lt;span class="attrv"&gt;&amp;quot;RatingBehavior1&amp;quot;&lt;/span&gt;&lt;span class="attr"&gt; runat=&lt;/span&gt;&lt;span class="attrv"&gt;&amp;quot;server&amp;quot;&lt;/span&gt;&lt;span class="attr"&gt; CurrentRating=&lt;/span&gt;&lt;span class="attrv"&gt;&amp;quot;1&amp;quot;&lt;/span&gt;&lt;span class="attr"&gt; MaxRating=&lt;/span&gt;&lt;span class="attrv"&gt;&amp;quot;3&amp;quot;&lt;/span&gt;&lt;span class="attr"&gt; ReadOnly=&lt;/span&gt;&lt;span class="attrv"&gt;&amp;quot;false&amp;quot;&lt;/span&gt;&lt;br /&gt;&lt;span class="attr"&gt;    StarCssClass=&lt;/span&gt;&lt;span class="attrv"&gt;&amp;quot;ratingStar&amp;quot;&lt;/span&gt;&lt;span class="attr"&gt; WaitingStarCssClass=&lt;/span&gt;&lt;span class="attrv"&gt;&amp;quot;savedRatingStar&amp;quot;&lt;/span&gt;&lt;span class="attr"&gt; FilledStarCssClass=&lt;/span&gt;&lt;span class="attrv"&gt;&amp;quot;filledRatingStar&amp;quot;&lt;/span&gt;&lt;span class="attr"&gt; EmptyStarCssClass=&lt;/span&gt;&lt;span class="attrv"&gt;&amp;quot;emptyRatingStar&amp;quot;&lt;/span&gt;&lt;span class="attr"&gt; Tag=&lt;/span&gt;&lt;span class="attrv"&gt;&amp;quot;99&amp;quot;&lt;/span&gt; &amp;gt;&lt;br /&gt;&amp;lt;/&lt;span class="tag"&gt;AJAXToolkit:Rating&lt;/span&gt;&amp;gt;&lt;br /&gt;&amp;lt;&lt;span class="tag"&gt;script&lt;/span&gt;&lt;span class="attr"&gt; type=&lt;/span&gt;&lt;span class="attrv"&gt;&amp;quot;text/javascript&amp;quot;&lt;/span&gt;&lt;span class="attr"&gt; language=&lt;/span&gt;&lt;span class="attrv"&gt;&amp;quot;javascript&amp;quot;&lt;/span&gt;&amp;gt;&lt;br /&gt;    function pageLoad()&lt;br /&gt;    {&lt;br /&gt;    //change its title&lt;br /&gt;        var RatingID = &amp;quot;&lt;span class="dir"&gt;&amp;lt;%=&lt;/span&gt;Rating1.ClientID &lt;span class="dir"&gt;%&amp;gt;&lt;/span&gt;&amp;quot;;&lt;br /&gt;        for(i=0;i&amp;lt;$find(&amp;quot;RatingBehavior1&amp;quot;).get_MaxRating();i++)&lt;br /&gt;        {&lt;br /&gt;            switch(i)&lt;br /&gt;            {&lt;br /&gt;                case 0:    $get(RatingID+&amp;quot;_Star_&amp;quot;+(i+1).toString()).title =&amp;quot;Bad&amp;quot;;     break;&lt;br /&gt;                case 1:    $get(RatingID+&amp;quot;_Star_&amp;quot;+(i+1).toString()).title =&amp;quot;OK&amp;quot;;     break;&lt;br /&gt;                case 2:    $get(RatingID+&amp;quot;_Star_&amp;quot;+(i+1).toString()).title =&amp;quot;Excelent&amp;quot;;break;&lt;br /&gt;                default:    break;&lt;br /&gt;            }&lt;br /&gt;        }&lt;br /&gt;    }&lt;br /&gt;&lt;span class="tag"&gt;&amp;lt;/script&amp;gt;&lt;/span&gt;&amp;nbsp;&lt;/pre&gt;&lt;/blockquote&gt;

&lt;p&gt;Related thread: &lt;br /&gt;&lt;a href="http://forums.asp.net/p/1163256/1928340.aspx"&gt;http://forums.asp.net/p/1163256/1928340.aspx&lt;/a&gt; &lt;/p&gt;

&lt;hr /&gt;

&lt;p&gt;&lt;b&gt;&lt;font size="3"&gt;14. Validators&lt;/font&gt;&lt;/b&gt;&lt;/p&gt;

&lt;p&gt;&lt;b&gt;&lt;a class="" title="faq_v3_14_1" name="faq_v3_14_1"&gt;&lt;/a&gt;14.1 Why asp.net validators not working in the UpdatePanel? [&lt;a href="http://forums.asp.net/t/1422287.aspx#faq_v3_top"&gt;top&lt;/a&gt;]&lt;/b&gt;&lt;/p&gt;

&lt;p&gt;ASP.NET validators use ClientScriptManager to register necessary scripts, but this doesn’t work with UpdatePanel. Registration methods of ScriptManager in AJAX Extension should be used.&lt;br /&gt;There is a hotfix available for solving this compatibility issue. It can be downloaded here: &lt;a href="https://connect.microsoft.com/VisualStudio/Downloads/DownloadDetails.aspx?DownloadID=6106&amp;amp;wa=wsignin1.0"&gt;https://connect.microsoft.com/VisualStudio/Downloads/DownloadDetails.aspx?DownloadID=6106&amp;amp;wa=wsignin1.0&lt;/a&gt; &lt;br /&gt;Or we can install SP1 .Net framework 2.0 SP1: &lt;br /&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyId=79BC3B77-E02C-4AD3-AACF-A7633F706BA5&amp;amp;displaylang=en"&gt;http://www.microsoft.com/downloads/details.aspx?FamilyId=79BC3B77-E02C-4AD3-AACF-A7633F706BA5&amp;amp;displaylang=en&lt;/a&gt; &lt;br /&gt;&lt;b&gt;&lt;br /&gt;&lt;a class="" title="faq_v3_14_2" name="faq_v3_14_2"&gt;&lt;/a&gt;14.2 ValidatorCallout does not work in a postback? [&lt;a href="http://forums.asp.net/t/1422287.aspx#faq_v3_top"&gt;top&lt;/a&gt;]&lt;/b&gt;&lt;/p&gt;

&lt;p&gt;It doesn’t support postback currently. We can force it to show manually with the following steps:&lt;/p&gt;

&lt;p&gt;&amp;nbsp; 1. Add a HiddenField to maintain the state of ValidatorCallout, its initial value is “&lt;span style="line-height:115%;color:blue;font-size:9pt;"&gt;false&lt;/span&gt;”. &lt;br /&gt;&amp;nbsp; 2. Set its value to true if server side validation fails.&lt;br /&gt;&amp;nbsp; 3. In client side pageLoad function, check HiddenField’s value and show ValidatorCallout accordingly. &lt;/p&gt;

&lt;p&gt;Below is a sample:&lt;/p&gt;

&lt;blockquote&gt;
&lt;pre class="coloredcode"&gt;&lt;span class="dir"&gt;&amp;lt;%@ Page Language=&amp;quot;C#&amp;quot; %&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;&lt;span class="tag"&gt;!DOCTYPE&lt;/span&gt; html PUBLIC &amp;quot;-//W3C//DTD XHTML 1.0 Transitional//EN&amp;quot; &amp;quot;http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd&amp;quot;&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;&lt;span class="tag"&gt;script&lt;/span&gt;&lt;span class="attr"&gt; runat=&lt;/span&gt;&lt;span class="attrv"&gt;&amp;quot;server&amp;quot;&lt;/span&gt;&amp;gt; &lt;br /&gt;    protected void Page_Load(object sender, EventArgs e)&lt;br /&gt;    {&lt;br /&gt;        hf.Value = &amp;quot;f&amp;quot;;&lt;br /&gt;    }&lt;br /&gt;    protected void CustomValidator1_ServerValidate(object source, ServerValidateEventArgs args)&lt;br /&gt;    {&lt;br /&gt;        args.IsValid = false;&lt;br /&gt;        hf.Value = &amp;quot;t&amp;quot;;&lt;br /&gt;    }&lt;br /&gt;&amp;lt;/&lt;span class="tag"&gt;script&lt;/span&gt;&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;&lt;span class="tag"&gt;html&lt;/span&gt;&lt;span class="attr"&gt; xmlns=&lt;/span&gt;&lt;span class="attrv"&gt;&amp;quot;http://www.w3.org/1999/xhtml&amp;quot;&lt;/span&gt;&amp;gt;&lt;br /&gt;&amp;lt;&lt;span class="tag"&gt;head&lt;/span&gt;&lt;span class="attr"&gt; id=&lt;/span&gt;&lt;span class="attrv"&gt;&amp;quot;Head1&amp;quot;&lt;/span&gt;&lt;span class="attr"&gt; runat=&lt;/span&gt;&lt;span class="attrv"&gt;&amp;quot;server&amp;quot;&lt;/span&gt;&amp;gt;&lt;br /&gt;    &amp;lt;&lt;span class="tag"&gt;title&lt;/span&gt;&amp;gt;Untitled Page&amp;lt;/&lt;span class="tag"&gt;title&lt;/span&gt;&amp;gt;&lt;br /&gt;    &amp;lt;&lt;span class="tag"&gt;script&lt;/span&gt;&lt;span class="attr"&gt; type=&lt;/span&gt;&lt;span class="attrv"&gt;&amp;quot;text/javascript&amp;quot;&lt;/span&gt;&amp;gt;&lt;br /&gt;    function pageLoad()&lt;br /&gt;    {&lt;br /&gt;        if($get(&amp;quot;hf&amp;quot;).value==&amp;quot;t&amp;quot;)&lt;br /&gt;        {&lt;br /&gt;            var vce=$find(&amp;#39;vce&amp;#39;);&lt;br /&gt;            vce._ensureCallout();&lt;br /&gt;            vce.show();&lt;br /&gt;        }&lt;br /&gt;    }&lt;br /&gt;    function valid(sender, args)&lt;br /&gt;    {&lt;br /&gt;        var tb=$get(&amp;quot;TextBox1&amp;quot;);&lt;br /&gt;        if(tb.value==&amp;quot;a&amp;quot;)&lt;br /&gt;        {// client side validation fails if you input &amp;quot;a&amp;quot;&lt;br /&gt;            args.IsValid=false;&lt;br /&gt;        }&lt;br /&gt;    }&lt;br /&gt;    &amp;lt;/&lt;span class="tag"&gt;script&lt;/span&gt;&amp;gt;&lt;br /&gt;&amp;lt;/&lt;span class="tag"&gt;head&lt;/span&gt;&amp;gt;&lt;br /&gt;&amp;lt;&lt;span class="tag"&gt;body&lt;/span&gt;&amp;gt;&lt;br /&gt;    &amp;lt;&lt;span class="tag"&gt;form&lt;/span&gt;&lt;span class="attr"&gt; id=&lt;/span&gt;&lt;span class="attrv"&gt;&amp;quot;form1&amp;quot;&lt;/span&gt;&lt;span class="attr"&gt; runat=&lt;/span&gt;&lt;span class="attrv"&gt;&amp;quot;server&amp;quot;&lt;/span&gt;&amp;gt;&lt;br /&gt;        &amp;lt;&lt;span class="tag"&gt;asp:ScriptManager&lt;/span&gt;&lt;span class="attr"&gt; ID=&lt;/span&gt;&lt;span class="attrv"&gt;&amp;quot;ScriptManager1&amp;quot;&lt;/span&gt;&lt;span class="attr"&gt; runat=&lt;/span&gt;&lt;span class="attrv"&gt;&amp;quot;server&amp;quot;&lt;/span&gt;&lt;span class="attr"&gt; EnableScriptLocalization=&lt;/span&gt;&lt;span class="attrv"&gt;&amp;quot;true&amp;quot;&lt;/span&gt;&lt;span class="attr"&gt; EnableScriptGlobalization=&lt;/span&gt;&lt;span class="attrv"&gt;&amp;quot;true&amp;quot;&lt;/span&gt;&amp;gt;&lt;br /&gt;        &amp;lt;/&lt;span class="tag"&gt;asp:ScriptManager&lt;/span&gt;&amp;gt;    &lt;br /&gt;        &amp;lt;&lt;span class="tag"&gt;asp:TextBox&lt;/span&gt;&lt;span class="attr"&gt; ID=&lt;/span&gt;&lt;span class="attrv"&gt;&amp;quot;TextBox1&amp;quot;&lt;/span&gt;&lt;span class="attr"&gt; runat=&lt;/span&gt;&lt;span class="attrv"&gt;&amp;quot;server&amp;quot;&lt;/span&gt;&amp;gt;&amp;lt;/&lt;span class="tag"&gt;asp:TextBox&lt;/span&gt;&amp;gt;&lt;br /&gt;        &amp;lt;&lt;span class="tag"&gt;asp:CustomValidator&lt;/span&gt;&lt;span class="attr"&gt; ID=&lt;/span&gt;&lt;span class="attrv"&gt;&amp;quot;CustomValidator1&amp;quot;&lt;/span&gt;&lt;span class="attr"&gt; runat=&lt;/span&gt;&lt;span class="attrv"&gt;&amp;quot;server&amp;quot;&lt;/span&gt; &lt;br /&gt;&lt;span class="attr"&gt;            ErrorMessage=&lt;/span&gt;&lt;span class="attrv"&gt;&amp;quot;CustomValidator&amp;quot;&lt;/span&gt;&lt;span class="attr"&gt; ControlToValidate=&lt;/span&gt;&lt;span class="attrv"&gt;&amp;quot;TextBox1&amp;quot;&lt;/span&gt; &lt;br /&gt;&lt;span class="attr"&gt;            OnServerValidate=&lt;/span&gt;&lt;span class="attrv"&gt;&amp;quot;CustomValidator1_ServerValidate&amp;quot;&lt;/span&gt; &lt;br /&gt;&lt;span class="attr"&gt;            ClientValidationFunction=&lt;/span&gt;&lt;span class="attrv"&gt;&amp;quot;valid&amp;quot;&lt;/span&gt;&amp;gt;&lt;br /&gt;        &amp;lt;/&lt;span class="tag"&gt;asp:CustomValidator&lt;/span&gt;&amp;gt;&lt;br /&gt;        &amp;lt;&lt;span class="tag"&gt;ajaxToolkit:ValidatorCalloutExtender&lt;/span&gt;&lt;span class="attr"&gt; ID=&lt;/span&gt;&lt;span class="attrv"&gt;&amp;quot;CustomValidator1_ValidatorCalloutExtender&amp;quot;&lt;/span&gt;&lt;br /&gt;&lt;span class="attr"&gt;            runat=&lt;/span&gt;&lt;span class="attrv"&gt;&amp;quot;server&amp;quot;&lt;/span&gt;&lt;span class="attr"&gt; Enabled=&lt;/span&gt;&lt;span class="attrv"&gt;&amp;quot;True&amp;quot;&lt;/span&gt;&lt;span class="attr"&gt; TargetControlID=&lt;/span&gt;&lt;span class="attrv"&gt;&amp;quot;CustomValidator1&amp;quot;&lt;/span&gt;&lt;span class="attr"&gt; BehaviorID=&lt;/span&gt;&lt;span class="attrv"&gt;&amp;quot;vce&amp;quot;&lt;/span&gt;&amp;gt;&lt;br /&gt;        &amp;lt;/&lt;span class="tag"&gt;ajaxToolkit:ValidatorCalloutExtender&lt;/span&gt;&amp;gt;&lt;br /&gt;        &amp;lt;&lt;span class="tag"&gt;asp:Button&lt;/span&gt;&lt;span class="attr"&gt; ID=&lt;/span&gt;&lt;span class="attrv"&gt;&amp;quot;Button1&amp;quot;&lt;/span&gt;&lt;span class="attr"&gt; runat=&lt;/span&gt;&lt;span class="attrv"&gt;&amp;quot;server&amp;quot;&lt;/span&gt;&lt;span class="attr"&gt; Text=&lt;/span&gt;&lt;span class="attrv"&gt;&amp;quot;Button&amp;quot;&lt;/span&gt; /&amp;gt;&lt;br /&gt;        &amp;lt;&lt;span class="tag"&gt;asp:HiddenField&lt;/span&gt;&lt;span class="attr"&gt; ID=&lt;/span&gt;&lt;span class="attrv"&gt;&amp;quot;hf&amp;quot;&lt;/span&gt;&lt;span class="attr"&gt; runat=&lt;/span&gt;&lt;span class="attrv"&gt;&amp;quot;server&amp;quot;&lt;/span&gt; /&amp;gt;&lt;br /&gt;    &amp;lt;/&lt;span class="tag"&gt;form&lt;/span&gt;&amp;gt;&lt;br /&gt;&amp;lt;/&lt;span class="tag"&gt;body&lt;/span&gt;&amp;gt;&lt;br /&gt;&amp;lt;/&lt;span class="tag"&gt;html&lt;/span&gt;&amp;gt;&lt;/pre&gt;&lt;/blockquote&gt;
&amp;nbsp; 
&lt;hr /&gt;

&lt;p&gt;&lt;b&gt;&lt;font size="3"&gt;15. Animation&lt;/font&gt;&lt;/b&gt;&lt;/p&gt;

&lt;p&gt;&lt;b&gt;&lt;font size="3"&gt;&lt;font size="2"&gt;&lt;a class="" title="faq_v3_15_1" name="faq_v3_15_1"&gt;&lt;/a&gt;15.1 Scripting Animations from the Ms Ajax AnimationExtender [&lt;a href="http://forums.asp.net/t/1422287.aspx#faq_v3_top"&gt;top&lt;/a&gt;]&lt;/font&gt;&lt;/font&gt;&lt;/b&gt;&lt;/p&gt;

&lt;p&gt;&lt;b&gt;&lt;font size="3"&gt;&lt;a href="http://blogs.msdn.com/phaniraj/archive/2007/05/31/scripting-animations-from-the-ms-AJAX-animationextender.aspx"&gt;&lt;span style="font-weight:normal;"&gt;&lt;font color="#034efa" size="2"&gt;http://blogs.msdn.com/phaniraj/archive/2007/05/31/scripting-animations-from-the-ms-AJAX-animationextender.aspx&lt;/font&gt;&lt;/span&gt;&lt;/a&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;/font&gt;&lt;/b&gt;&lt;/p&gt;

&lt;p&gt;&lt;b&gt;&lt;font size="3"&gt;&lt;font size="2"&gt;&lt;a class="" title="faq_v3_15_2" name="faq_v3_15_2"&gt;&lt;/a&gt;15.2&amp;nbsp;How to: Re-use Animation Extenders in a page [&lt;a href="http://forums.asp.net/t/1422287.aspx#faq_v3_top"&gt;top&lt;/a&gt;]&lt;/font&gt;&lt;/font&gt;&lt;/b&gt;&lt;/p&gt;

&lt;p&gt;&lt;font size="3"&gt;&lt;font size="2"&gt;&lt;a href="http://blogs.msdn.com/phaniraj/archive/2007/08/15/how-to-re-use-animation-extenders-in-a-page.aspx"&gt;http://blogs.msdn.com/phaniraj/archive/2007/08/15/how-to-re-use-animation-extenders-in-a-page.aspx&lt;/a&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;

&lt;p&gt;&lt;b&gt;&lt;a class="" title="faq_v3_15_3" name="faq_v3_15_3"&gt;&lt;/a&gt;15.3 MS AJAX AnimationExtender : How Many Ways Do I Play thee? [&lt;a href="http://forums.asp.net/t/1422287.aspx#faq_v3_top"&gt;top&lt;/a&gt;]&lt;/b&gt;&lt;/p&gt;

&lt;p&gt;&lt;font size="3"&gt;&lt;font size="2"&gt;&lt;a href="http://blogs.msdn.com/phaniraj/archive/2007/04/13/animations-how-many-ways-do-i-call-thee.aspx"&gt;http://blogs.msdn.com/phaniraj/archive/2007/04/13/animations-how-many-ways-do-i-call-thee.aspx&lt;/a&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;

&lt;p&gt;&lt;b&gt;&lt;a class="" title="faq_v3_15_4" name="faq_v3_15_4"&gt;&lt;/a&gt;15.4 How do I add animation to the SlideShow? [&lt;a href="http://forums.asp.net/t/1422287.aspx#faq_v3_top"&gt;top&lt;/a&gt;]&lt;/b&gt;&lt;/p&gt;

&lt;p&gt;&lt;font size="3"&gt;&lt;a href="http://forums.asp.net/t/1086320.aspx"&gt;&lt;font color="#5403fa" size="2"&gt;This&amp;nbsp;thread&lt;/font&gt;&lt;/a&gt; &lt;font size="2"&gt;shows how to use them together.&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;
&lt;font size="3"&gt;
&lt;hr /&gt;

&lt;p&gt;&lt;b&gt;&lt;font size="3"&gt;16. Custom Extender&lt;/font&gt;&lt;/b&gt;&lt;/p&gt;

&lt;p&gt;&lt;b&gt;&lt;font size="2"&gt;&lt;a class="" title="faq_v3_16_1" name="faq_v3_16_1"&gt;&lt;/a&gt;16.1 Contributing to the Toolkit [&lt;a href="http://forums.asp.net/t/1422287.aspx#faq_v3_top"&gt;top&lt;/a&gt;]&lt;/font&gt;&lt;/b&gt;&lt;/p&gt;

&lt;p&gt;&lt;font size="2"&gt;We are trying out a new contribution model for the Toolkit. This applies to fixes to existing controls and introduction of new controls into the Toolkit. You can find more information on the &lt;/font&gt;&lt;a href="http://www.codeplex.com/AtlasControlToolkit/Wiki/View.aspx?title=ContributingToTheToolkit"&gt;&lt;font color="#034efa" size="2"&gt;How to contribute to the Toolkit&lt;/font&gt;&lt;/a&gt;&lt;font size="2"&gt; and &lt;/font&gt;&lt;a href="http://www.codeplex.com/AtlasControlToolkit/Wiki/View.aspx?title=PatchUtility"&gt;&lt;font color="#034efa" size="2"&gt;How to use the Toolkit Patch Utility&lt;/font&gt;&lt;/a&gt;&lt;font size="2"&gt;.&lt;/font&gt;&lt;/p&gt;

&lt;p&gt;&lt;font size="2"&gt;&lt;b&gt;&lt;a class="" title="faq_v3_16_2" name="faq_v3_16_2"&gt;&lt;/a&gt;16.2 &lt;span style="color:windowtext;"&gt;How do I get my own control included in the ASP.NET AJAX Control Toolkit? [&lt;a href="http://forums.asp.net/t/1422287.aspx#faq_v3_top"&gt;top&lt;/a&gt;]&lt;/span&gt;&lt;/b&gt;&lt;/font&gt;&lt;/p&gt;

&lt;p&gt;&lt;font size="2"&gt;&lt;span style="line-height:115%;font-family:&amp;#39;Verdana&amp;#39;,&amp;#39;sans-serif&amp;#39;;font-size:10pt;"&gt;As you may have noticed in Shawn&amp;#39;s &lt;a href="http://forums.asp.net/thread/1256158.aspx"&gt;&lt;font color="#034efa"&gt;welcome message&lt;/font&gt;&lt;/a&gt;, we are actively working on making the ASP.NET AJAX Control Toolkit a shared source project with contributions from the community. We&amp;#39;re still working out all the details, but we&amp;#39;ll be sure to let you know when/how/where this next step of the Toolkit will take off. In the meantime, if you have any amazing controls or fabulous insights you can post them in the forums to share with your fellow developers.&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;

&lt;p&gt;&lt;font size="2"&gt;&lt;b&gt;&lt;span style="line-height:115%;font-family:&amp;#39;Verdana&amp;#39;,&amp;#39;sans-serif&amp;#39;;font-size:10pt;"&gt;&lt;a class="" title="faq_v3_16_2" name="faq_v3_16_2"&gt;&lt;/a&gt;&lt;font face="Arial"&gt;&lt;/font&gt;&lt;a class="" title="faq_v3_16_4" name="faq_v3_16_4"&gt;&lt;/a&gt;16.3&amp;nbsp;&lt;span style="font-family:&amp;#39;Times New Roman&amp;#39;;font-style:normal;font-variant:normal;font-weight:normal;font-size:7pt;line-height:normal;font-size-adjust:none;font-stretch:normal;"&gt; &lt;/span&gt;&lt;span style="color:windowtext;"&gt;I &lt;/span&gt;&lt;/span&gt;&lt;span style="color:windowtext;"&gt;don&amp;#39;t see my changes to the JavaScript files in the provided project or a project created from the templates [&lt;a href="http://forums.asp.net/t/1422287.aspx#faq_v3_top"&gt;top&lt;/a&gt;]&lt;/span&gt;&lt;/b&gt;&lt;/font&gt;&lt;/p&gt;

&lt;p&gt;&lt;font size="2"&gt;&lt;b&gt;&lt;span style="color:windowtext;"&gt;&lt;/span&gt;&lt;/b&gt;&lt;span style="line-height:115%;font-family:&amp;#39;Verdana&amp;#39;,&amp;#39;sans-serif&amp;#39;;font-size:10pt;"&gt;To make deployment of your controls easier, all the JavaScript files are embedded as web resources by default (via the &lt;span style="font-size:9pt;"&gt;WebResourceAttribute &lt;/span&gt;&lt;/span&gt;&lt;span style="line-height:115%;font-family:&amp;#39;Verdana&amp;#39;,&amp;#39;sans-serif&amp;#39;;font-size:10pt;"&gt;in a region at the top of your extender). This means that they&amp;#39;re compiled into the binary with the rest of your source and delivered to the client indirectly. &lt;b&gt;If you make a change to the script, you need to rebuild the project for the change to be seen on the client when testing.&lt;/b&gt; To make it easier to debug your scripts without constantly rebuilding, check out the section &amp;quot;Easily modifying and debugging scripts&amp;quot; of &lt;a href="http://ajax.asp.net/ajaxtoolkit/Walkthrough/OtherNeatStuff.aspx"&gt;&lt;font color="#034efa"&gt;Other Neat Stuff&lt;/font&gt;&lt;/a&gt; for information about using the &lt;/span&gt;&lt;span style="line-height:115%;font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;"&gt;ScriptPath&lt;/span&gt;&lt;span style="line-height:115%;font-family:&amp;#39;Verdana&amp;#39;,&amp;#39;sans-serif&amp;#39;;font-size:10pt;"&gt; property.&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;

&lt;p&gt;&lt;font size="2"&gt;&lt;span style="line-height:115%;font-family:&amp;#39;Verdana&amp;#39;,&amp;#39;sans-serif&amp;#39;;font-size:10pt;"&gt;Related thread: &lt;br /&gt;&lt;a href="http://forums.asp.net/thread/1262202.aspx"&gt;&lt;font color="#034efa"&gt;Confirmation message on ReorderList&lt;/font&gt;&lt;/a&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;
&lt;font size="2"&gt;&lt;/font&gt;
&lt;p&gt;&lt;font size="2"&gt;&lt;b&gt;&lt;a class="" title="faq_v3_16_4" name="faq_v3_16_4"&gt;&lt;/a&gt;16.4&amp;nbsp;&lt;span style="font-family:&amp;#39;Times New Roman&amp;#39;;font-style:normal;font-variant:normal;font-weight:normal;font-size:7pt;line-height:normal;font-size-adjust:none;font-stretch:normal;"&gt; &lt;/span&gt;&lt;span style="color:windowtext;"&gt;I get an &amp;quot;Assertion Failed: Unrecognized Tag&amp;quot; error with my new control [&lt;a href="http://forums.asp.net/t/1422287.aspx#faq_v3_top"&gt;top&lt;/a&gt;]&lt;/span&gt;&lt;/b&gt;&lt;/font&gt;&lt;span style="color:windowtext;"&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p&gt;&lt;span style="font-family:&amp;#39;Verdana&amp;#39;,&amp;#39;sans-serif&amp;#39;;font-size:10pt;"&gt;This error message appears for one or more of the following reasons:&lt;/span&gt;&lt;/p&gt;

&lt;p style="line-height:normal;" class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Verdana&amp;#39;,&amp;#39;sans-serif&amp;#39;;font-size:10pt;"&gt;&amp;nbsp; •&amp;nbsp;You didn&amp;#39;t make your script an Embedded Resource (select the file, and set &amp;quot;Build Action&amp;quot; to &amp;quot;Embedded Resource&amp;quot; in the property window). This happens by default when you create an ASP.NET AJAX Control Project, but needs to be done manually when new controls are added to the project.&amp;nbsp;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Verdana&amp;#39;,&amp;#39;sans-serif&amp;#39;;font-size:10pt;"&gt;&amp;nbsp; •&amp;nbsp;The &lt;span style="font-size:9pt;"&gt;WebResourceAttribute &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Verdana&amp;#39;,&amp;#39;sans-serif&amp;#39;;font-size:10pt;"&gt;at the top of your extender doesn&amp;#39;t correctly point at your JavaScript file&amp;#39;s resource name. If you&amp;#39;re unsure what the proper resource name is, you can easily find out by running ILDASM or Reflector and finding your script in the manifest resources.&amp;nbsp;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Verdana&amp;#39;,&amp;#39;sans-serif&amp;#39;;font-size:10pt;"&gt;&amp;nbsp; •&amp;nbsp;The values provided in the &lt;span style="font-size:9pt;"&gt;[ClientScriptResource(&lt;span&gt;&amp;quot;prefix&amp;quot;&lt;/span&gt;, &lt;span&gt;&amp;quot;tag&amp;quot;&lt;/span&gt;, &lt;span style="color:blue;"&gt;typeof&lt;/span&gt;(MyControlExtender), &lt;span&gt;&amp;quot;Same.Value.As.WebResourceAttribute.Above.js&amp;quot;&lt;/span&gt;)]&lt;/span&gt;&amp;nbsp;a&lt;/span&gt;&lt;span style="font-family:&amp;#39;Verdana&amp;#39;,&amp;#39;sans-serif&amp;#39;;font-size:10pt;"&gt;ttribute on your extender don&amp;#39;t match either the prefix and tag names provided at the bottom of your script via &lt;span style="font-size:9pt;"&gt;Sys.TypeDescriptor.addType(&lt;span&gt;&amp;#39;prefix&amp;#39;&lt;/span&gt;, &lt;span&gt;&amp;#39;tag&amp;#39;&lt;/span&gt;, MyCompany.MyControl)&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;"&gt;;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Verdana&amp;#39;,&amp;#39;sans-serif&amp;#39;;font-size:10pt;"&gt; or the resource name in the &lt;span style="font-size:9pt;"&gt;WebResourceAttribute&lt;/span&gt;&amp;nbsp;a&lt;/span&gt;&lt;span style="font-family:&amp;#39;Verdana&amp;#39;,&amp;#39;sans-serif&amp;#39;;font-size:10pt;"&gt;bove.&lt;/span&gt; &lt;/p&gt;

&lt;p&gt;&lt;span style="font-family:&amp;#39;Verdana&amp;#39;,&amp;#39;sans-serif&amp;#39;;font-size:10pt;"&gt;Related thread: &lt;br /&gt;&lt;a href="http://forums.asp.net/thread/1277040.aspx"&gt;&lt;font color="#034efa"&gt;Assertion Failed: Unrecognized tag Error&lt;/font&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p&gt;&lt;span style="font-family:&amp;#39;Verdana&amp;#39;,&amp;#39;sans-serif&amp;#39;;font-size:10pt;"&gt;&lt;/span&gt;&amp;nbsp;&lt;/p&gt;
&lt;/font&gt;</description></item></channel></rss>