<?xml version="1.0" encoding="iso-8859-1"?>
<rss version="2.0">
  <channel>
    <title>Atanas Korchev's blog</title>
    <description>Atanas Korchev's blog</description>
    <link>http://blogs.telerik.com/AtanasKorchev/Posts.aspx</link>
    <docs>http://backend.userland.com/rss</docs>
    <item>
      <title>ASP.NET Ajax Controls and jQuery</title>
      <description>&lt;style type="text/css"&gt;
    .csharpcode
    {
    overflow:auto;
    }
    .csharpcode, .csharpcode pre
    {
    font-size: small;
    color: black;
    font-family: consolas, "Courier New", courier, monospace;
    background-color: #ffffff;
    }
    .csharpcode pre { margin: 0em; }
    .csharpcode .rem { color: #008000; }
    .csharpcode .kwrd { color: #0000ff; }
    .csharpcode .str { color: #006080; }
    .csharpcode .op { color: #0000c0; }
    .csharpcode .preproc { color: #cc6633; }
    .csharpcode .asp { background-color: #ffff00; }
    .csharpcode .html { color: #800000; }
    .csharpcode .attr { color: #ff0000; }
    .csharpcode .alt
    {
    background-color: #f4f4f4;
    width: 100%;
    margin: 0em;
    }
    .csharpcode .lnum { color: #606060; }
&lt;/style&gt;
&lt;p&gt;As you probably know by know the &lt;a href="http://www.telerik.com/products/aspnet-ajax/whats-new/full-story.aspx"&gt;Q3 2008 release is out&lt;/a&gt;. In this release we included the &lt;a href="http://jquery.com/"&gt;jQuery&lt;/a&gt; JavaScript library in our scripts. For now only RadTreeView and RadScheduler benefit from it but we plan deeper jQuery integration in the future. In this blog post I will show you how to use the built-in jQuery file in your projects.&lt;/p&gt;
&lt;h3&gt;Including jQuery&lt;/h3&gt;
&lt;p&gt;If you have RadScheduler or RadTreeView in your page jQuery is already included so you can skip to the next paragraph. If not - read ahead.&lt;/p&gt;
&lt;ol&gt;
    &lt;li&gt;Add a ScriptReference pointing to Core.js as we use a slightly customized version of jQuery which depends on Core.js. &lt;br /&gt;
    &lt;br /&gt;
    &lt;em style="background: yellow none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;"&gt;
    Update!!! We have not modified the implementation of jQuery in any way. We have just appended a few more lines of JavaScript at the end of the file in order to avoid the aforementioned&amp;nbsp;&amp;nbsp;version conflict and to include a few useful jQuery plugins.
    &lt;/em&gt;
    &lt;br /&gt;
    &lt;pre class="csharpcode"&gt;&lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;asp:ScriptReference&lt;/span&gt; &lt;span class="attr"&gt;Assembly&lt;/span&gt;&lt;span class="kwrd"&gt;="Telerik.Web.UI"&lt;/span&gt; &lt;span class="attr"&gt;Name&lt;/span&gt;&lt;span class="kwrd"&gt;="Telerik.Web.UI.Common.Core.js"&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;&lt;/pre&gt;
    &lt;/li&gt;
    &lt;li&gt;Add a ScriptReference pointing to jQuery.js
    &lt;pre class="csharpcode"&gt;&lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;asp:ScriptReference&lt;/span&gt; &lt;span class="attr"&gt;Assembly&lt;/span&gt;&lt;span class="kwrd"&gt;="Telerik.Web.UI"&lt;/span&gt; &lt;span class="attr"&gt;Name&lt;/span&gt;&lt;span class="kwrd"&gt;="Telerik.Web.UI.Common.jQuery.js"&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;&lt;/pre&gt;
    &lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Here is how your RadScriptManager should look like in the end:&lt;/p&gt;
&lt;pre class="csharpcode"&gt;&lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;telerik:RadScriptManager&lt;/span&gt; &lt;span class="attr"&gt;runat&lt;/span&gt;&lt;span class="kwrd"&gt;="server"&lt;/span&gt; &lt;span class="attr"&gt;ID&lt;/span&gt;&lt;span class="kwrd"&gt;="RadScriptManager1"&lt;/span&gt; &lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;    &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;Scripts&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;        &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;asp:ScriptReference&lt;/span&gt; &lt;span class="attr"&gt;Assembly&lt;/span&gt;&lt;span class="kwrd"&gt;="Telerik.Web.UI"&lt;/span&gt; &lt;span class="attr"&gt;Name&lt;/span&gt;&lt;span class="kwrd"&gt;="Telerik.Web.UI.Common.Core.js"&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;&lt;br /&gt;        &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;asp:ScriptReference&lt;/span&gt; &lt;span class="attr"&gt;Assembly&lt;/span&gt;&lt;span class="kwrd"&gt;="Telerik.Web.UI"&lt;/span&gt; &lt;span class="attr"&gt;Name&lt;/span&gt;&lt;span class="kwrd"&gt;="Telerik.Web.UI.Common.jQuery.js"&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;&lt;br /&gt;    &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;Scripts&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;telerik:RadScriptManager&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;h3&gt;Using jQuery&lt;/h3&gt;
&lt;p&gt;After including the jQuery file you can start using it. There is a trick though - the jQuery object is available as $telerik.$ instead of the default $ or jQuery aliases. This is so to avoid compatibility issues with applications which already use (other versions of) jQuery. For more info you can check the &lt;a href="http://docs.jquery.com/Core/jQuery.noConflict"&gt;documentation of the noConflict method&lt;/a&gt;. Fortunately there is an easy workaround to enable back the $ alias:&lt;/p&gt;
&lt;pre class="csharpcode"&gt;&lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;script&lt;/span&gt; &lt;span class="attr"&gt;type&lt;/span&gt;&lt;span class="kwrd"&gt;="text/javascript"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;window.$ = $telerik.$;&lt;br /&gt;&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;script&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;p&gt;or even better use a self-calling anonymous function to avoid creating a global variable (window.$):&lt;/p&gt;
&lt;pre class="csharpcode"&gt;&lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;script&lt;/span&gt; &lt;span class="attr"&gt;type&lt;/span&gt;&lt;span class="kwrd"&gt;="text/javascript"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;(&lt;span class="kwrd"&gt;function&lt;/span&gt;($) {&lt;br /&gt;    $(document).ready(&lt;span class="kwrd"&gt;function&lt;/span&gt;() {&lt;br /&gt;            alert(&lt;span class="str"&gt;"Hooray! The document is ready!"&lt;/span&gt;);&lt;br /&gt;        }&lt;br /&gt;    );&lt;br /&gt;})($telerik.$);&lt;br /&gt;&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;script&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;p&gt;I much prefer the second option which in fact we use internally to avoid typing $telerik.$ every time. &lt;/p&gt;
&lt;h3&gt;Demo&lt;/h3&gt;
&lt;p&gt;Here is a modified version of the &lt;a href="http://blogs.telerik.com/RosiF/Posts/08-10-01/RadComboBox_jQuery.aspx"&gt;RadComboBox and jQuery integration demo&lt;/a&gt; which now uses the built-in jQuery library:&lt;/p&gt;
&lt;pre class="csharpcode"&gt;&lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;telerik:RadScriptManager&lt;/span&gt; &lt;span class="attr"&gt;runat&lt;/span&gt;&lt;span class="kwrd"&gt;="server"&lt;/span&gt; &lt;span class="attr"&gt;ID&lt;/span&gt;&lt;span class="kwrd"&gt;="RadScriptManager1"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;    &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;Scripts&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;        &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;asp:ScriptReference&lt;/span&gt; &lt;span class="attr"&gt;Assembly&lt;/span&gt;&lt;span class="kwrd"&gt;="Telerik.Web.UI"&lt;/span&gt; &lt;span class="attr"&gt;Name&lt;/span&gt;&lt;span class="kwrd"&gt;="Telerik.Web.UI.Common.Core.js"&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;&lt;br /&gt;        &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;asp:ScriptReference&lt;/span&gt; &lt;span class="attr"&gt;Assembly&lt;/span&gt;&lt;span class="kwrd"&gt;="Telerik.Web.UI"&lt;/span&gt; &lt;span class="attr"&gt;Name&lt;/span&gt;&lt;span class="kwrd"&gt;="Telerik.Web.UI.Common.jQuery.js"&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;&lt;br /&gt;    &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;Scripts&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;telerik:RadScriptManager&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;telerik:RadComboBox&lt;/span&gt; &lt;span class="attr"&gt;runat&lt;/span&gt;&lt;span class="kwrd"&gt;="server"&lt;/span&gt; &lt;span class="attr"&gt;ID&lt;/span&gt;&lt;span class="kwrd"&gt;="RadComboBox1"&lt;/span&gt; &lt;span class="attr"&gt;Width&lt;/span&gt;&lt;span class="kwrd"&gt;="300px"&lt;/span&gt; &lt;span class="attr"&gt;Skin&lt;/span&gt;&lt;span class="kwrd"&gt;="Telerik"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;    &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;Items&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;        &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;telerik:RadComboBoxItem&lt;/span&gt; &lt;span class="attr"&gt;Text&lt;/span&gt;&lt;span class="kwrd"&gt;="ASP.NET AJAX UI Controls"&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;&lt;br /&gt;        &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;telerik:RadComboBoxItem&lt;/span&gt; &lt;span class="attr"&gt;Text&lt;/span&gt;&lt;span class="kwrd"&gt;="WinForms UI Controls"&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;&lt;br /&gt;        &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;telerik:RadComboBoxItem&lt;/span&gt; &lt;span class="attr"&gt;Text&lt;/span&gt;&lt;span class="kwrd"&gt;="WPF UI Controls"&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;&lt;br /&gt;        &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;telerik:RadComboBoxItem&lt;/span&gt; &lt;span class="attr"&gt;Text&lt;/span&gt;&lt;span class="kwrd"&gt;="Silverlight UI Controls"&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;&lt;br /&gt;        &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;telerik:RadComboBoxItem&lt;/span&gt; &lt;span class="attr"&gt;Text&lt;/span&gt;&lt;span class="kwrd"&gt;="Telerik Reporting"&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;&lt;br /&gt;        &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;telerik:RadComboBoxItem&lt;/span&gt; &lt;span class="attr"&gt;Text&lt;/span&gt;&lt;span class="kwrd"&gt;="Telerik OpenAccess ORM"&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;&lt;br /&gt;        &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;telerik:RadComboBoxItem&lt;/span&gt; &lt;span class="attr"&gt;Text&lt;/span&gt;&lt;span class="kwrd"&gt;="Telerik Sitefinity CMS"&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;&lt;br /&gt;    &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;Items&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;telerik:RadComboBox&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;script&lt;/span&gt; &lt;span class="attr"&gt;type&lt;/span&gt;&lt;span class="kwrd"&gt;="text/javascript"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;br /&gt;    (&lt;span class="kwrd"&gt;function&lt;/span&gt;($) {&lt;br /&gt;        $(document).ready(&lt;span class="kwrd"&gt;function&lt;/span&gt;() {&lt;br /&gt;            $(&lt;span class="str"&gt;'.rcbItem'&lt;/span&gt;)&lt;br /&gt;            .mouseover(&lt;span class="kwrd"&gt;function&lt;/span&gt;() {&lt;br /&gt;                $(&lt;span class="kwrd"&gt;this&lt;/span&gt;).stop().animate({ paddingLeft: &lt;span class="str"&gt;"30px"&lt;/span&gt; }, { duration: 300 });&lt;br /&gt;            })&lt;br /&gt;            .mouseout(&lt;span class="kwrd"&gt;function&lt;/span&gt;() {&lt;br /&gt;                $(&lt;span class="kwrd"&gt;this&lt;/span&gt;).stop().animate({ paddingLeft: &lt;span class="str"&gt;"4px"&lt;/span&gt; }, { duration: 300 });&lt;br /&gt;            });&lt;br /&gt;        });&lt;br /&gt;    })($telerik.$);&lt;br /&gt;&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;script&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;p&gt;[&lt;a href="http://blogs.telerik.com/files/jQueryRadComboBox.zip" title="Download the RadComboBox/jQuery example"&gt;Download&lt;/a&gt;] &lt;/p&gt;
&lt;p&gt;I hope this helps.&lt;/p&gt;
</description>
      <link>http://blogs.telerik.com/AtanasKorchev/Posts/08-11-06/ASP_NET_Ajax_Controls_and_jQuery.aspx</link>
      <author>Atanas Korchev</author>
      <comments>http://blogs.telerik.com/AtanasKorchev/Posts/08-11-06/ASP_NET_Ajax_Controls_and_jQuery.aspx</comments>
      <guid isPermaLink="false">57dc527a-baf4-40f0-89d9-2d02def889e6</guid>
      <pubDate>Thu, 06 Nov 2008 09:33:29 GMT</pubDate>
    </item>
    <item>
      <title>ASP.NET Ajax Controls in ASP.NET MVC</title>
      <description>&lt;p&gt;The &lt;a title="Go to the news page" href="http://www.telerik.com/products/aspnet-ajax/whats-new/full-story.aspx"&gt;Q3 2008 release is now out&lt;/a&gt; and I am glad to inform you that RadScriptManager provides support for &lt;a href="http://asp.net/mvc" title="Go to the official ASP.NET MVC web site"&gt;ASP.NET MVC&lt;/a&gt; view and master pages. What this means is that RadControls for ASP.NET Ajax can be used in ASP.NET MVC. We have tested with the &lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyId=A24D1E00-CD35-4F66-BAA0-2362BDDE0766&amp;amp;displaylang=en" title="Download ASP.NET MVC Beta 1"&gt;ASP.NET MVC Beta 1 release&lt;/a&gt;.&lt;/p&gt;
&lt;style type="text/css"&gt;
    .csharpcode
    {
    overflow:auto;
    }
    .csharpcode, .csharpcode pre
    {
    font-size: small;
    color: black;
    font-family: Consolas, "Courier New", Courier, Monospace;
    background-color: #ffffff;
    /*white-space: pre;*/
    }
    .csharpcode pre { margin: 0em; }
    .csharpcode .rem { color: #008000; }
    .csharpcode .kwrd { color: #0000ff; }
    .csharpcode .str { color: #006080; }
    .csharpcode .op { color: #0000c0; }
    .csharpcode .preproc { color: #cc6633; }
    .csharpcode .asp { background-color: #ffff00; }
    .csharpcode .html { color: #800000; }
    .csharpcode .attr { color: #ff0000; }
    .csharpcode .alt
    {
    background-color: #f4f4f4;
    width: 100%;
    margin: 0em;
    }
    .csharpcode .lnum { color: #606060; }
&lt;/style&gt;
&lt;h3&gt;Using RadControls for ASP.NET Ajax in ASP.NET MVC View Pages&lt;/h3&gt;
&lt;p&gt;1. Add an instance of RadScriptManager to your view page (or master page). Make sure the required HTTP handlers are properly registered (can be done from the smart tag in design time).&lt;/p&gt;
&lt;p&gt;2. Add a control to your view page or master page. The following controls require further configuration in order to properly work in ASP.NET MVC:&lt;/p&gt;
&lt;ul&gt;
    &lt;li&gt;&lt;a title="Go to RadEditor Overview Page" href="http://www.telerik.com/products/aspnet-ajax/Editor.aspx"&gt;RadEditor&lt;/a&gt;
    &lt;ul&gt;
        &lt;li&gt;The dialog HTTP handler's extension should be changed to "axd":       &lt;br /&gt;
        Before:        &lt;br /&gt;
        &lt;pre class="csharpcode"&gt;&lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;add&lt;/span&gt; &lt;span class="attr"&gt;path&lt;/span&gt;&lt;span class="kwrd"&gt;="Telerik.Web.UI.DialogHandler.aspx"&lt;/span&gt; ... &lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;  &lt;/pre&gt;
        After:        &lt;br /&gt;
        &lt;pre class="csharpcode"&gt;&lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;add&lt;/span&gt; &lt;span class="attr"&gt;path&lt;/span&gt;&lt;span class="kwrd"&gt;="Telerik.Web.UI.DialogHandler.axd"&lt;/span&gt; ... &lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;&lt;/pre&gt;
        &lt;/li&gt;
        &lt;li&gt;The &lt;strong&gt;DialogHandler&lt;/strong&gt; property of RadEditor should be set to &lt;br /&gt;
        "~/ Telerik.Web.UI.DialogHandler.axd":        &lt;br /&gt;
        &lt;pre class="csharpcode"&gt;&lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;telerik:RadEditor&lt;/span&gt; &lt;span class="attr"&gt;runat&lt;/span&gt;&lt;span class="kwrd"&gt;="server"&lt;/span&gt; &lt;span class="attr"&gt;ID&lt;/span&gt;&lt;span class="kwrd"&gt;="RadEditor1"&lt;/span&gt; &lt;span class="attr"&gt;DialogHandlerUrl&lt;/span&gt;&lt;span class="kwrd"&gt;="~/Telerik.Web.UI.DialogHandler.axd"&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt; &lt;/pre&gt;
        &lt;/li&gt;
        &lt;li&gt;RadEditor should be placed inside a form tag.&lt;/li&gt;
    &lt;/ul&gt;
    &lt;/li&gt;
    &lt;li&gt;&lt;a title="Go to RadUpload Overview Page" href="http://www.telerik.com/products/aspnet-ajax/Upload.aspx"&gt;RadUpload&lt;/a&gt;
    &lt;ul&gt;
        &lt;li&gt;The progress manager HTTP handler's extension should be changed to "axd":       &lt;br /&gt;
        Before:        &lt;br /&gt;
        &lt;pre class="csharpcode"&gt;&lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;add&lt;/span&gt; &lt;span class="attr"&gt;path&lt;/span&gt;&lt;span class="kwrd"&gt;="Telerik.RadUploadProgressHandler.ashx"&lt;/span&gt; ... &lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;&lt;/pre&gt;
        After:        &lt;br /&gt;
        &lt;pre class="csharpcode"&gt;&lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;add&lt;/span&gt; &lt;span class="attr"&gt;path&lt;/span&gt;&lt;span class="kwrd"&gt;="Telerik.RadUploadProgressHandler.axd"&lt;/span&gt; ... &lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;&lt;/pre&gt;
        &lt;/li&gt;
        &lt;li&gt;Set the &lt;strong&gt;AjaxUrl&lt;/strong&gt; property of RadProgressManager to "~/Telerik.RadUploadProgressHandler.axd":        &lt;br /&gt;
        &lt;pre class="csharpcode"&gt;&lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;telerik:RadProgressManager&lt;/span&gt; &lt;span class="attr"&gt;runat&lt;/span&gt;&lt;span class="kwrd"&gt;="server"&lt;/span&gt; &lt;span class="attr"&gt;ID&lt;/span&gt;&lt;span class="kwrd"&gt;="RadProgressManager1"&lt;/span&gt; &lt;span class="attr"&gt;AjaxUrl&lt;/span&gt;&lt;span class="kwrd"&gt;="~/Telerik.RadUploadProgressHandler.axd"&lt;/span&gt;&lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt; &lt;/pre&gt;
        &lt;/li&gt;
        &lt;li&gt;RadUpload should be placed inside a form tag&lt;/li&gt;
    &lt;/ul&gt;
    &lt;/li&gt;
    &lt;li&gt;&lt;a title="Go to RadSpell Overview Page" href="http://www.telerik.com/products/aspnet-ajax/Spell.aspx"&gt;RadSpell&lt;/a&gt;
    &lt;ul&gt;
        &lt;li&gt;The dialog HTTP handler's extension should be changed to "axd":       &lt;br /&gt;
        Before:        &lt;br /&gt;
        &lt;pre class="csharpcode"&gt;&lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;add&lt;/span&gt; &lt;span class="attr"&gt;path&lt;/span&gt;&lt;span class="kwrd"&gt;="Telerik.Web.UI.DialogHandler.aspx"&lt;/span&gt; ... &lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;&lt;/pre&gt;
        After:        &lt;br /&gt;
        &lt;pre class="csharpcode"&gt;&lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;add&lt;/span&gt; &lt;span class="attr"&gt;path&lt;/span&gt;&lt;span class="kwrd"&gt;="Telerik.Web.UI.DialogHandler.axd"&lt;/span&gt; ... &lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt; &lt;/pre&gt;
        &lt;/li&gt;
        &lt;li&gt;The &lt;strong&gt;HandlerUrl&lt;/strong&gt; property of RadEditor should be set to "~/ Telerik.Web.UI.DialogHandler.axd":        &lt;/li&gt;
    &lt;/ul&gt;
    &lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;Samples&lt;/h3&gt;
&lt;h4&gt;Using navigation controls and linking to actions&lt;/h4&gt;
&lt;p&gt;This approach is useful when you need a navigation control (&lt;a title="Go to RadTreeView Overview Page" href="http://www.telerik.com/products/aspnet-ajax/TreeView.aspx"&gt;RadTreeView&lt;/a&gt;, &lt;a title="Go to RadTabStrip Overview Page" href="http://www.telerik.com/products/aspnet-ajax/TabStrip.aspx"&gt;RadTabStrip&lt;/a&gt;, &lt;a title="Go To RadPanelBar Overview Page" href="http://www.telerik.com/products/aspnet-ajax/PanelBar.aspx"&gt;RadPanelBar&lt;/a&gt;, &lt;a title="Go to RadMenu Overview Page" href="http://www.telerik.com/products/aspnet-ajax/Menu.aspx"&gt;RadMenu&lt;/a&gt;, &lt;a title="Go to RadToolBar Overview Page" href="http://www.telerik.com/products/aspnet-ajax/ToolBar.aspx"&gt;RadToolBar&lt;/a&gt;) to link to actions.&lt;/p&gt;
&lt;pre class="csharpcode"&gt;&lt;span class="asp"&gt;&amp;lt;%&lt;/span&gt; RadTreeView1.DataBind() &lt;span class="asp"&gt;%&amp;gt;&lt;/span&gt; &lt;br /&gt; &lt;br /&gt;&lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;telerik:RadTreeView&lt;/span&gt; &lt;span class="attr"&gt;runat&lt;/span&gt;&lt;span class="kwrd"&gt;="server"&lt;/span&gt; &lt;span class="attr"&gt;ID&lt;/span&gt;&lt;span class="kwrd"&gt;="RadTreeView1"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt; &lt;br /&gt;    &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;Nodes&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt; &lt;br /&gt;        &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;telerik:RadTreeNode&lt;/span&gt; &lt;span class="attr"&gt;NavigateUrl&lt;/span&gt;&lt;span class="kwrd"&gt;='&amp;lt;%# Url.Action("Index")%&amp;gt;'&lt;/span&gt; &lt;span class="attr"&gt;Text&lt;/span&gt;&lt;span class="kwrd"&gt;="Index"&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt; &lt;br /&gt;        &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;telerik:RadTreeNode&lt;/span&gt; &lt;span class="attr"&gt;NavigateUrl&lt;/span&gt;&lt;span class="kwrd"&gt;='&amp;lt;%# Url.Action("Home")%&amp;gt;'&lt;/span&gt; &lt;span class="attr"&gt;Text&lt;/span&gt;&lt;span class="kwrd"&gt;="Home"&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt; &lt;br /&gt;    &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;Nodes&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt; &lt;br /&gt;&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;telerik:RadTreeView&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt; &lt;/pre&gt;
&lt;h4&gt;DataBinding RadGrid&lt;/h4&gt;
&lt;pre class="csharpcode"&gt;&lt;span class="asp"&gt;&amp;lt;%&lt;/span&gt; &lt;br /&gt;    RadGrid1.DataSource = ViewData[&lt;span class="str"&gt;"MyBusinessObjectCollection"&lt;/span&gt;]; &lt;br /&gt;    RadGrid1.DataBind(); &lt;br /&gt;&lt;span class="asp"&gt;%&amp;gt;&lt;/span&gt; &lt;br /&gt;&lt;br /&gt;&lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;telerik:RadGrid&lt;/span&gt; &lt;span class="attr"&gt;runat&lt;/span&gt;&lt;span class="kwrd"&gt;="server"&lt;/span&gt; &lt;span class="attr"&gt;ID&lt;/span&gt;&lt;span class="kwrd"&gt;="RadGrid1"&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;  &lt;/pre&gt;
&lt;p&gt;For a more advanced example check &lt;a href="http://blogs.telerik.com/VladimirEnchev/Posts/08-10-17/The_Grid_in_Microsoft_ASP_NET_MVC_Beta.aspx"&gt;this&lt;/a&gt; blog post. You can also go and check &lt;a href="http://demos.telerik.com/radgridmvc" title="Go to RadGrid ASP.NET MVC Demo"&gt;the live demo&lt;/a&gt;.&lt;/p&gt;
&lt;h4&gt;Uploading Files with RadUpload&lt;/h4&gt;
View: &lt;br /&gt;
&lt;pre class="csharpcode"&gt;&lt;span class="asp"&gt;&amp;lt;%&lt;/span&gt; &lt;span class="kwrd"&gt;using&lt;/span&gt; (Html.BeginForm(&lt;span class="str"&gt;"Upload"&lt;/span&gt;, &lt;span class="str"&gt;"Home"&lt;/span&gt;)){&lt;span class="asp"&gt;%&amp;gt;&lt;/span&gt; &lt;br /&gt; &lt;br /&gt;&lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;telerik:RadUpload&lt;/span&gt; &lt;span class="attr"&gt;runat&lt;/span&gt;&lt;span class="kwrd"&gt;="server"&lt;/span&gt; &lt;span class="attr"&gt;ID&lt;/span&gt;&lt;span class="kwrd"&gt;="RadUpload1"&lt;/span&gt; &lt;span class="kwrd"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;telerik:RadUpload&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt; &lt;br /&gt;&lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;telerik:RadProgressManager&lt;/span&gt; &lt;span class="attr"&gt;runat&lt;/span&gt;&lt;span class="kwrd"&gt;="server"&lt;/span&gt; &lt;span class="attr"&gt;ID&lt;/span&gt;&lt;span class="kwrd"&gt;="RadProgressManager1"&lt;/span&gt; &lt;span class="attr"&gt;AjaxUrl&lt;/span&gt;&lt;span class="kwrd"&gt;="~/Telerik.RadUploadProgressHandler.axd"&lt;/span&gt;&lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt; &lt;br /&gt;&lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;telerik:RadProgressArea&lt;/span&gt; &lt;span class="attr"&gt;runat&lt;/span&gt;&lt;span class="kwrd"&gt;="server"&lt;/span&gt; &lt;span class="attr"&gt;ID&lt;/span&gt;&lt;span class="kwrd"&gt;="RadProgressArea1"&lt;/span&gt;&lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt; &lt;br /&gt; &lt;br /&gt;&lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;input&lt;/span&gt; &lt;span class="attr"&gt;type&lt;/span&gt;&lt;span class="kwrd"&gt;="submit"&lt;/span&gt; &lt;span class="attr"&gt;value&lt;/span&gt;&lt;span class="kwrd"&gt;="Upload"&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt; &lt;br /&gt; &lt;br /&gt;&lt;span class="asp"&gt;&amp;lt;%&lt;/span&gt;} &lt;span class="asp"&gt;%&amp;gt;&lt;/span&gt;  &lt;/pre&gt;
Controller:    &lt;br /&gt;
&lt;pre class="csharpcode"&gt;&lt;span class="kwrd"&gt;public&lt;/span&gt; ActionResult Upload() &lt;br /&gt;{ &lt;br /&gt;    &lt;span class="kwrd"&gt;if&lt;/span&gt; (Request.Files.Count &amp;gt; 0) &lt;br /&gt;    { &lt;br /&gt;        Request.Files[0].SaveAs(&lt;span class="str"&gt;"path_to_file"&lt;/span&gt;); &lt;br /&gt;    } &lt;br /&gt;    &lt;span class="kwrd"&gt;return&lt;/span&gt; View(&lt;span class="str"&gt;"Index"&lt;/span&gt;); &lt;br /&gt;} &lt;/pre&gt;
&lt;h3&gt;Known Limitations&lt;/h3&gt;
&lt;h4&gt;RadAjaxManager, RadAjaxPanel, postbacks and ViewState are not supported&lt;/h4&gt;
&lt;p&gt;By default ASP.NET view pages don't have server form tag (&amp;lt;form runat="server"&amp;gt;) which is required for ViewState and postbacks support. Partial rendering is also not supported by ASP.NET MVC and as a result RadAjaxManager and RadAjax panel are not working. &lt;/p&gt;
&lt;h4&gt;RadScheduler does not support ASP.NET MVC at the time being.&lt;/h4&gt;
&lt;p&gt;&lt;a title="Go to RadScheduler Overview Page" href="http://www.telerik.com/products/aspnet-ajax/Scheduler.aspx"&gt;RadScheduler&lt;/a&gt; relies on postbacks (or ajax requests) in order to insert, update, delete appointments. Support for ASP.NET MVC will be implemented in the upcoming Q1 2009 release. &lt;/p&gt;
&lt;h4&gt;RadGrid's built-in insert, update, delete, sort, group are not supported&lt;/h4&gt;
&lt;p&gt;All those features rely on postbacks by default and as such are not supported in ASP.NET MVC. &lt;a href="http://blogs.telerik.com/VladimirEnchev/Posts/08-10-17/The_Grid_in_Microsoft_ASP_NET_MVC_Beta.aspx"&gt;This&lt;/a&gt; blog post describes how to work around this problem. &lt;/p&gt;
&lt;h4&gt;Skin and base CSS files should be registered by hand when using the PartialView method&lt;/h4&gt;
&lt;p&gt;Alternatively you can use RadStyleSheetManager in the user control used in PartialView. &lt;/p&gt;
&lt;h4&gt;Updates via the built-in ASP.NET Ajax support are not supported&lt;/h4&gt;
&lt;p&gt;The HTML of the controls is successfully updated however JavaScript is not executed by the built-in ASP.NET MVC Ajax implementation. We would provide a workaround in the future. &lt;/p&gt;
&lt;h4&gt;Only the ASP.NET rendering engine is supported&lt;/h4&gt;
&lt;p&gt;This stems from the fact that RadControls for ASP.NET Ajax depend on the ASP.NET Page and control lifecycle.&lt;/p&gt;
&lt;h3&gt;Future&lt;/h3&gt;
&lt;p&gt;A full-blown ASP.NET MVC application built on top of &lt;a href="http://www.telerik.com/products/aspnet-ajax.aspx" title="Go to RadControls for ASP.NET Ajax Overview Page"&gt;RadControls for ASP.NET Ajax&lt;/a&gt; and &lt;a href="http://www.telerik.com/products/orm.aspx" title="Go to Telerik OpenAccess Overview Page"&gt;Telerik OpenAccess&lt;/a&gt; is already in the works. I will blog when it is ready. &lt;/p&gt;
</description>
      <link>http://blogs.telerik.com/AtanasKorchev/Posts/08-11-06/ASP_NET_Ajax_Controls_in_ASP_NET_MVC.aspx</link>
      <author>Atanas Korchev</author>
      <comments>http://blogs.telerik.com/AtanasKorchev/Posts/08-11-06/ASP_NET_Ajax_Controls_in_ASP_NET_MVC.aspx</comments>
      <guid isPermaLink="false">3e950362-0365-4135-96f7-8cb876c6ebe4</guid>
      <pubDate>Thu, 06 Nov 2008 03:29:07 GMT</pubDate>
    </item>
    <item>
      <title>RadMenu for ASP.NET Ajax - Working with disabled JavaScript</title>
      <description>&lt;p&gt;As you may know accessibility standards require a web page to work when JavaScript is disabled. In this blog post I will show you how to make RadMenu work even without JavaScript. I will also show how to make &lt;a href="http://www.freedomscientific.com/fs_products/software_jaws.asp"&gt;JAWS&lt;/a&gt; reader "see" all items rendered by RadMenu (even the hidden ones).&lt;/p&gt;
&lt;h3&gt;Disabling JavaScript&lt;/h3&gt;
&lt;p&gt;First we need to find a way to disable JavaScript in our browser of choice. For FireFox you need to install the &lt;a href="https://addons.mozilla.org/en-US/firefox/addon/60"&gt;web developer toolbar plugin&lt;/a&gt;. Then you can easily use the "Disable JavaScript" option:&lt;/p&gt;
&lt;p&gt;&lt;img width="402" height="109" style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" alt="image" src="http://blogs.telerik.com/Libraries/MetaBlog/WindowsLiveWriter-image_3.sflb" border="0" /&gt; &lt;/p&gt;
&lt;p&gt;In Internet Explorer you should first edit the security settings for the zone in which your test page is. Be careful to select the right zone - if you are testing locally you need to customize the "Local Intranet" zone: &lt;br /&gt;
 &lt;a href="http://blogs.telerik.com/Libraries/MetaBlog/WindowsLiveWriter-image_9.sflb"&gt;&lt;img width="390" height="484" style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" alt="image" src="http://blogs.telerik.com/Libraries/MetaBlog/WindowsLiveWriter-image_thumb_3%20(1).sflb" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;
&lt;p&gt;Then set the "Active scripting" option to "Disable":&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.telerik.com/Libraries/MetaBlog/WindowsLiveWriter-image_7.sflb"&gt;&lt;img width="429" height="484" style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" alt="image" src="http://blogs.telerik.com/Libraries/MetaBlog/WindowsLiveWriter-image_thumb_2%20(1).sflb" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;
&lt;h3&gt;Making RadMenu open when JavaScript is disabled&lt;/h3&gt;
&lt;p&gt;By default RadMenu items open in response of the JavaScript &lt;a href="http://www.w3schools.com/jsref/jsref_onmouseover.asp"&gt;mouseover&lt;/a&gt; event. This means that when JavaScript is disabled items won't open. Fortunately most modern browsers support the &lt;a href="http://www.w3schools.com/css/pr_pseudo_hover.asp"&gt;":hover"&lt;/a&gt; pseudo CSS class on every HTML element. This allows the menu items to open only by using CSS:&lt;/p&gt;
&lt;div style="border-right: #7f9db9 1px solid; border-top: #7f9db9 1px solid; font-size: 11px; overflow: auto; border-left: #7f9db9 1px solid; line-height: 100%! important; border-bottom: #7f9db9 1px solid; font-family: courier new; background-color: white"&gt;
&lt;table style="border-top-width: 0px; border-left-width: 0px; margin: 2px 0px; width: 99%; border-bottom: #eee 0px solid; border-collapse: collapse; background-color: #fff; border-right-width: 0px" cellspacing="0" cellpadding="0"&gt;
    &lt;colgroup&gt;&lt;col style="padding-left: 10px; font-size: 11px; border-bottom: #f7f7f7 1px solid; font-family: courier new; white-space: nowrap" /&gt;&lt;/colgroup&gt;
    &lt;tbody&gt;
        &lt;tr&gt;
            &lt;td&gt;&lt;span style="font-size: 11px"&gt;&lt;/span&gt;&lt;span style="color: blue"&gt;&amp;lt;&lt;/span&gt;&lt;span style="font-size: 11px"&gt;style &lt;/span&gt;&lt;span style="color: red"&gt;type&lt;/span&gt;&lt;span style="font-size: 11px"&gt;=&lt;/span&gt;&lt;span style="color: blue"&gt;"text/css"&lt;/span&gt;&lt;span style="font-size: 11px"&gt; &lt;/span&gt;&lt;span style="color: red"&gt;title&lt;/span&gt;&lt;span style="font-size: 11px"&gt;=&lt;/span&gt;&lt;span style="color: blue"&gt;"RadMenu-Pure-Css"&lt;/span&gt;&lt;span style="font-size: 11px"&gt;&amp;gt;   &lt;/span&gt;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td style="background-color: #f7f7f7"&gt;    .RadMenu .rmItem:hover &lt;span style="color: blue"&gt;&amp;gt;&lt;/span&gt;&lt;span style="font-size: 11px"&gt; .rmSlide,   &lt;/span&gt;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td&gt;    .RadMenu .rmItem:hover &lt;span style="color: blue"&gt;&amp;gt;&lt;/span&gt;&lt;span style="font-size: 11px"&gt; .rmSlide .rmGroup   &lt;/span&gt;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td style="background-color: #f7f7f7"&gt;    {      &lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td&gt;        display: block;      &lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td style="background-color: #f7f7f7"&gt;        overflow: visible;      &lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td&gt;    }      &lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td style="background-color: #f7f7f7"&gt;    .RadMenu .rmItem:hover .rmSlide   &lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td&gt;    {      &lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td style="background-color: #f7f7f7"&gt;        top: 100%;      &lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td&gt;        left: 0;      &lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td style="background-color: #f7f7f7"&gt;    }      &lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td&gt;    .RadMenu .rmItem .rmItem:hover .rmSlide   &lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td style="background-color: #f7f7f7"&gt;    {      &lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td&gt;        top:0;      &lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td style="background-color: #f7f7f7"&gt;        left: 100%;      &lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td&gt;    }      &lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td style="background-color: #f7f7f7"&gt;    .RadMenu .rmVertical .rmItem   &lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td&gt;    {      &lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td style="background-color: #f7f7f7"&gt;        float:none;   &lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td&gt;    }     &lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td style="background-color: #f7f7f7"&gt;&lt;span style="color: blue"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="font-size: 11px"&gt;style&lt;/span&gt;&lt;span style="color: blue"&gt;&amp;gt;&lt;/span&gt;&lt;span style="font-size: 11px"&gt; &lt;/span&gt;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td&gt; &lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td style="background-color: #f7f7f7"&gt; &lt;/td&gt;
        &lt;/tr&gt;
    &lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;p&gt;Have in mind that animations will not work (remember that JavaScript is disabled). This CSS will affect the normal RadMenu behavior if JavaScript is enabled. To remove it we can use a few lines of JavaScript:&lt;/p&gt;
&lt;div style="border-right: #7f9db9 1px solid; border-top: #7f9db9 1px solid; font-size: 11px; overflow: auto; border-left: #7f9db9 1px solid; line-height: 100%! important; border-bottom: #7f9db9 1px solid; font-family: courier new; background-color: white"&gt;
&lt;table style="border-top-width: 0px; border-left-width: 0px; margin: 2px 0px; width: 99%; border-bottom: #eee 0px solid; border-collapse: collapse; background-color: #fff; border-right-width: 0px" cellspacing="0" cellpadding="0"&gt;
    &lt;colgroup&gt;&lt;col style="padding-left: 10px; font-size: 11px; border-bottom: #f7f7f7 1px solid; font-family: courier new; white-space: nowrap" /&gt;&lt;/colgroup&gt;
    &lt;tbody&gt;
        &lt;tr&gt;
            &lt;td&gt;&lt;span style="font-size: 11px"&gt;&lt;/span&gt;&lt;span style="color: blue"&gt;&amp;lt;&lt;/span&gt;&lt;span style="font-size: 11px"&gt;body&lt;/span&gt;&lt;span style="color: blue"&gt;&amp;gt;&lt;/span&gt;&lt;span style="font-size: 11px"&gt;   &lt;/span&gt;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td style="background-color: #f7f7f7"&gt;    &lt;span style="color: blue"&gt;&amp;lt;&lt;/span&gt;&lt;span style="font-size: 11px"&gt;script &lt;/span&gt;&lt;span style="color: red"&gt;type&lt;/span&gt;&lt;span style="font-size: 11px"&gt;=&lt;/span&gt;&lt;span style="color: blue"&gt;"text/javascript"&lt;/span&gt;&lt;span style="font-size: 11px"&gt;&amp;gt;   &lt;/span&gt;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td&gt;        //&amp;lt;!--   &lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td style="background-color: #f7f7f7"&gt;        var &lt;span style="color: red"&gt;styles&lt;/span&gt;&lt;span style="font-size: 11px"&gt; = &lt;/span&gt;&lt;span style="color: blue"&gt;document&lt;/span&gt;&lt;span style="font-size: 11px"&gt;.getElementsByTagName("style");   &lt;/span&gt;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td&gt;        for (var &lt;span style="color: red"&gt;i&lt;/span&gt;&lt;span style="font-size: 11px"&gt; = &lt;/span&gt;&lt;span style="color: blue"&gt;0&lt;/span&gt;&lt;span style="font-size: 11px"&gt;; i &lt;/span&gt;&lt;span style="color: blue"&gt;&amp;lt;&lt;/span&gt;&lt;span style="font-size: 11px"&gt; &lt;/span&gt;&lt;span style="font-weight: bold; color: black"&gt;styles.length&lt;/span&gt;&lt;span style="font-size: 11px"&gt;; i++)   &lt;/span&gt;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td style="background-color: #f7f7f7"&gt;        {   &lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td&gt;            if (styles[i]&lt;span style="color: red"&gt;.title&lt;/span&gt;&lt;span style="font-size: 11px"&gt; == "RadMenu-Pure-Css")   &lt;/span&gt;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td style="background-color: #f7f7f7"&gt;            {   &lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td&gt;                styles[i].parentNode.removeChild(styles[i]);   &lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td style="background-color: #f7f7f7"&gt;                break;   &lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td&gt;            }   &lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td style="background-color: #f7f7f7"&gt;        }   &lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td&gt;        //--&lt;span style="color: blue"&gt;&amp;gt;&lt;/span&gt;&lt;span style="font-size: 11px"&gt;   &lt;/span&gt;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td style="background-color: #f7f7f7"&gt;    &lt;span style="color: blue"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="font-size: 11px"&gt;script&lt;/span&gt;&lt;span style="color: blue"&gt;&amp;gt;&lt;/span&gt;&lt;span style="font-size: 11px"&gt; &lt;/span&gt;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td&gt; &lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td style="background-color: #f7f7f7"&gt; &lt;/td&gt;
        &lt;/tr&gt;
    &lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;p&gt;That code will run only if JavaScript is enabled and remove the workaround stylesheet (based on its title).&lt;/p&gt;
&lt;h3&gt;What about older browsers which are still widely used?&lt;/h3&gt;
&lt;p&gt;Internet Explorer 6 supports the ":hover" pseudo CSS class only for "a" elements. This means that the aforementioned workaround will not work at all. What can we do about this? We can simply show all items to the user in case JavaScript is disabled. Here is the CSS:&lt;/p&gt;
&lt;div style="border-right: #7f9db9 1px solid; border-top: #7f9db9 1px solid; font-size: 11px; overflow: auto; border-left: #7f9db9 1px solid; line-height: 100%! important; border-bottom: #7f9db9 1px solid; font-family: courier new; background-color: white"&gt;
&lt;table style="border-top-width: 0px; border-left-width: 0px; margin: 2px 0px; width: 99%; border-bottom: #eee 0px solid; border-collapse: collapse; background-color: #fff; border-right-width: 0px" cellspacing="0" cellpadding="0"&gt;
    &lt;colgroup&gt;&lt;col style="padding-left: 10px; font-size: 11px; border-bottom: #f7f7f7 1px solid; font-family: courier new; white-space: nowrap" /&gt;&lt;/colgroup&gt;
    &lt;tbody&gt;
        &lt;tr&gt;
            &lt;td&gt;&lt;span style="font-size: 11px"&gt;&lt;/span&gt;&lt;span style="color: blue"&gt;&amp;lt;&lt;/span&gt;&lt;span style="font-size: 11px"&gt;style &lt;/span&gt;&lt;span style="color: red"&gt;type&lt;/span&gt;&lt;span style="font-size: 11px"&gt;=&lt;/span&gt;&lt;span style="color: blue"&gt;"text/css"&lt;/span&gt;&lt;span style="font-size: 11px"&gt; &lt;/span&gt;&lt;span style="color: red"&gt;title&lt;/span&gt;&lt;span style="font-size: 11px"&gt;=&lt;/span&gt;&lt;span style="color: blue"&gt;"RadMenu-Pure-Css"&lt;/span&gt;&lt;span style="font-size: 11px"&gt;&amp;gt;   &lt;/span&gt;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td style="background-color: #f7f7f7"&gt;    div.RadMenu div.rmSlide,   &lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td&gt;    div.RadMenu ul.rmGroup,   &lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td style="background-color: #f7f7f7"&gt;    div.RadMenu ul.rmRootGroup   &lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td&gt;    {      &lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td style="background-color: #f7f7f7"&gt;        display: block;      &lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td&gt;        overflow: visible;   &lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td style="background-color: #f7f7f7"&gt;        position:static;   &lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td&gt;        float:none;   &lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td style="background-color: #f7f7f7"&gt;    }   &lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td&gt;    div.RadMenu li.rmItem   &lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td style="background-color: #f7f7f7"&gt;    {   &lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td&gt;        float:none;   &lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td style="background-color: #f7f7f7"&gt;    }   &lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td&gt;&lt;span style="color: blue"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="font-size: 11px"&gt;style&lt;/span&gt;&lt;span style="color: blue"&gt;&amp;gt;&lt;/span&gt;&lt;span style="font-size: 11px"&gt; &lt;/span&gt;&lt;/td&gt;
        &lt;/tr&gt;
    &lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;p&gt;Here is how the final result looks like:&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.telerik.com/Libraries/MetaBlog/WindowsLiveWriter-image_11.sflb"&gt;&lt;img width="127" height="187" style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" alt="image" src="http://blogs.telerik.com/Libraries/MetaBlog/WindowsLiveWriter-image_thumb_4%20(1).sflb" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;
&lt;p&gt;Again you can hide it from browsers which have enabled JavaScript by using the code from the previous paragraph. &lt;/p&gt;
&lt;h3&gt;What about postbacks?&lt;/h3&gt;
&lt;p&gt;RadMenu is using JavaScript in order to postback when the user subscribes to the ItemClick event. When JavaScript is disabled the ItemClick event simply won't fire. Fortunately there is a workaround - using the ItemTemplate and controls which postback without JavaScript:&lt;/p&gt;
&lt;div style="border-right: #7f9db9 1px solid; border-top: #7f9db9 1px solid; font-size: 11px; overflow: auto; border-left: #7f9db9 1px solid; line-height: 100%! important; border-bottom: #7f9db9 1px solid; font-family: courier new; background-color: white"&gt;
&lt;table style="border-top-width: 0px; border-left-width: 0px; margin: 2px 0px; width: 99%; border-bottom: #eee 0px solid; border-collapse: collapse; background-color: #fff; border-right-width: 0px" cellspacing="0" cellpadding="0"&gt;
    &lt;colgroup&gt;&lt;col style="padding-left: 10px; font-size: 11px; border-bottom: #f7f7f7 1px solid; font-family: courier new; white-space: nowrap" /&gt;&lt;/colgroup&gt;
    &lt;tbody&gt;
        &lt;tr&gt;
            &lt;td&gt;&lt;span style="font-size: 11px"&gt;&lt;/span&gt;&lt;span style="color: blue"&gt;&amp;lt;&lt;/span&gt;&lt;span style="font-size: 11px"&gt;telerik:RadMenu &lt;/span&gt;&lt;span style="color: red"&gt;runat&lt;/span&gt;&lt;span style="font-size: 11px"&gt;=&lt;/span&gt;&lt;span style="color: blue"&gt;"server"&lt;/span&gt;&lt;span style="font-size: 11px"&gt; &lt;/span&gt;&lt;span style="color: red"&gt;ID&lt;/span&gt;&lt;span style="font-size: 11px"&gt;=&lt;/span&gt;&lt;span style="color: blue"&gt;"RadMenu1"&lt;/span&gt;&lt;span style="font-size: 11px"&gt; &lt;/span&gt;&lt;span style="color: red"&gt;Skin&lt;/span&gt;&lt;span style="font-size: 11px"&gt;=&lt;/span&gt;&lt;span style="color: blue"&gt;"Hay"&lt;/span&gt;&lt;span style="font-size: 11px"&gt;&amp;gt;   &lt;/span&gt;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td style="background-color: #f7f7f7"&gt;    &lt;span style="color: blue"&gt;&amp;lt;&lt;/span&gt;&lt;span style="font-size: 11px"&gt;ItemTemplate&lt;/span&gt;&lt;span style="color: blue"&gt;&amp;gt;&lt;/span&gt;&lt;span style="font-size: 11px"&gt;   &lt;/span&gt;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td&gt;        &lt;span style="color: blue"&gt;&amp;lt;&lt;/span&gt;&lt;span style="font-size: 11px"&gt;asp:Button &lt;/span&gt;&lt;span style="color: red"&gt;runat&lt;/span&gt;&lt;span style="font-size: 11px"&gt;=&lt;/span&gt;&lt;span style="color: blue"&gt;"server"&lt;/span&gt;&lt;span style="font-size: 11px"&gt; &lt;/span&gt;&lt;span style="color: red"&gt;ID&lt;/span&gt;&lt;span style="font-size: 11px"&gt;=&lt;/span&gt;&lt;span style="color: blue"&gt;"Button1"&lt;/span&gt;&lt;span style="font-size: 11px"&gt;   &lt;/span&gt;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td style="background-color: #f7f7f7"&gt;            &lt;span style="color: red"&gt;CommandArgument&lt;/span&gt;&lt;span style="font-size: 11px"&gt;=&lt;/span&gt;&lt;span style="color: blue"&gt;"&amp;lt;%# Container.UniqueID%&amp;gt;"&lt;/span&gt;&lt;span style="font-size: 11px"&gt;   &lt;/span&gt;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td&gt;            &lt;span style="color: red"&gt;Text&lt;/span&gt;&lt;span style="font-size: 11px"&gt;=&lt;/span&gt;&lt;span style="color: blue"&gt;"&amp;lt;%#Container.Text %&amp;gt;"&lt;/span&gt;&lt;span style="font-size: 11px"&gt; &lt;/span&gt;&lt;span style="color: red"&gt;OnCommand&lt;/span&gt;&lt;span style="font-size: 11px"&gt;=&lt;/span&gt;&lt;span style="color: blue"&gt;"Button1_Command"&lt;/span&gt;&lt;span style="font-size: 11px"&gt; &lt;/span&gt;&lt;span style="color: blue"&gt;/&amp;gt;&lt;/span&gt;&lt;span style="font-size: 11px"&gt;   &lt;/span&gt;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td style="background-color: #f7f7f7"&gt;    &lt;span style="color: blue"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="font-size: 11px"&gt;ItemTemplate&lt;/span&gt;&lt;span style="color: blue"&gt;&amp;gt;&lt;/span&gt;&lt;span style="font-size: 11px"&gt;   &lt;/span&gt;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td&gt; &lt;span style="color: blue"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="font-size: 11px"&gt;telerik:RadMenu&lt;/span&gt;&lt;span style="color: blue"&gt;&amp;gt;&lt;/span&gt;&lt;span style="font-size: 11px"&gt; &lt;/span&gt;&lt;/td&gt;
        &lt;/tr&gt;
    &lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;p&gt;The &amp;lt;asp:Button /&amp;gt; control does not require JavaScript in order to postback as it renders as &amp;lt;input type="submit" /&amp;gt;. By assigning CommandArgument we can later determine which RadMenuItem initiated the postback:&lt;/p&gt;
&lt;div style="border-right: #7f9db9 1px solid; border-top: #7f9db9 1px solid; font-size: 11px; overflow: auto; border-left: #7f9db9 1px solid; line-height: 100%! important; border-bottom: #7f9db9 1px solid; font-family: courier new; background-color: white"&gt;
&lt;table style="border-top-width: 0px; border-left-width: 0px; margin: 2px 0px; width: 99%; border-bottom: #eee 0px solid; border-collapse: collapse; background-color: #fff; border-right-width: 0px" cellspacing="0" cellpadding="0"&gt;
    &lt;colgroup&gt;&lt;col style="padding-left: 10px; font-size: 11px; border-bottom: #f7f7f7 1px solid; font-family: courier new; white-space: nowrap" /&gt;&lt;/colgroup&gt;
    &lt;tbody&gt;
        &lt;tr&gt;
            &lt;td&gt;&lt;span style="font-size: 11px"&gt;&lt;/span&gt;&lt;span style="color: blue"&gt;protected&lt;/span&gt;&lt;span style="font-size: 11px"&gt; &lt;/span&gt;&lt;span style="color: blue"&gt;void&lt;/span&gt;&lt;span style="font-size: 11px"&gt; Button1_Command(&lt;/span&gt;&lt;span style="color: blue"&gt;object&lt;/span&gt;&lt;span style="font-size: 11px"&gt; sender, CommandEventArgs e)   &lt;/span&gt;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td style="background-color: #f7f7f7"&gt;{   &lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td&gt;    RadMenuItem menuItem = (RadMenuItem) Page.FindControl((&lt;span style="color: blue"&gt;string&lt;/span&gt;&lt;span style="font-size: 11px"&gt;)e.CommandArgument);   &lt;/span&gt;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td style="background-color: #f7f7f7"&gt;    Label1.Text = menuItem.Text;   &lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td&gt;} &lt;/td&gt;
        &lt;/tr&gt;
    &lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;p&gt;We shall also need some CSS to make the buttons look more than regular menu items:&lt;/p&gt;
&lt;div style="border-right: #7f9db9 1px solid; border-top: #7f9db9 1px solid; font-size: 11px; overflow: auto; border-left: #7f9db9 1px solid; line-height: 100%! important; border-bottom: #7f9db9 1px solid; font-family: courier new; background-color: white"&gt;
&lt;table style="border-top-width: 0px; border-left-width: 0px; margin: 2px 0px; width: 99%; border-bottom: #eee 0px solid; border-collapse: collapse; background-color: #fff; border-right-width: 0px" cellspacing="0" cellpadding="0"&gt;
    &lt;colgroup&gt;&lt;col style="padding-left: 10px; font-size: 11px; border-bottom: #f7f7f7 1px solid; font-family: courier new; white-space: nowrap" /&gt;&lt;/colgroup&gt;
    &lt;tbody&gt;
        &lt;tr&gt;
            &lt;td&gt;&lt;span style="font-size: 11px"&gt;&lt;/span&gt;&lt;span style="color: blue"&gt;&amp;lt;&lt;/span&gt;&lt;span style="font-size: 11px"&gt;style &lt;/span&gt;&lt;span style="color: red"&gt;type&lt;/span&gt;&lt;span style="font-size: 11px"&gt;=&lt;/span&gt;&lt;span style="color: blue"&gt;"text/css"&lt;/span&gt;&lt;span style="font-size: 11px"&gt;&amp;gt;   &lt;/span&gt;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td style="background-color: #f7f7f7"&gt;div.RadMenu li.rmItem input   &lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td&gt;{   &lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td style="background-color: #f7f7f7"&gt;    padding:0;   &lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td&gt;    margin:0;   &lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td style="background-color: #f7f7f7"&gt;    border:0 none;   &lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td&gt;    background: transparent;   &lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td style="background-color: #f7f7f7"&gt;    font: normal 11px/17px arial,sans-serif;   &lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td&gt;    height: 17px;   &lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td style="background-color: #f7f7f7"&gt;}   &lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td&gt;&lt;span style="color: blue"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="font-size: 11px"&gt;style&lt;/span&gt;&lt;span style="color: blue"&gt;&amp;gt;&lt;/span&gt;&lt;span style="font-size: 11px"&gt; &lt;/span&gt;&lt;/td&gt;
        &lt;/tr&gt;
    &lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;p&gt;And that's all! Clicking the button (which looks like a menu item) will trigger its Command event.&lt;/p&gt;
&lt;h3&gt;JAWS reader compatibility&lt;/h3&gt;
&lt;p&gt;By default JAWS reader will not read all menu items rendered by RadMenu. This is so because invisible items are inside an element whose display CSS attribute is set to none (for performance and cross browser reasons). However with some CSS (do you recognize the pattern :) ) you can make the items hidden by setting the left CSS attribute: &lt;/p&gt;
&lt;div style="border-right: #7f9db9 1px solid; border-top: #7f9db9 1px solid; font-size: 11px; overflow: auto; border-left: #7f9db9 1px solid; line-height: 100%! important; border-bottom: #7f9db9 1px solid; font-family: courier new; background-color: white"&gt;
&lt;table style="border-top-width: 0px; border-left-width: 0px; margin: 2px 0px; width: 99%; border-bottom: #eee 0px solid; border-collapse: collapse; background-color: #fff; border-right-width: 0px" cellspacing="0" cellpadding="0"&gt;
    &lt;colgroup&gt;&lt;col style="padding-left: 10px; font-size: 11px; border-bottom: #f7f7f7 1px solid; font-family: courier new; white-space: nowrap" /&gt;&lt;/colgroup&gt;
    &lt;tbody&gt;
        &lt;tr&gt;
            &lt;td&gt;&lt;span style="font-size: 11px"&gt;&lt;/span&gt;&lt;span style="color: blue"&gt;&amp;lt;&lt;/span&gt;&lt;span style="font-size: 11px"&gt;style &lt;/span&gt;&lt;span style="color: red"&gt;type&lt;/span&gt;&lt;span style="font-size: 11px"&gt;=&lt;/span&gt;&lt;span style="color: blue"&gt;"text/css"&lt;/span&gt;&lt;span style="font-size: 11px"&gt;&amp;gt;  &lt;/span&gt;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td style="background-color: #f7f7f7"&gt;        div.RadMenu .rmSlide,   &lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td&gt;        div.RadMenu .rmSlide .rmGroup   &lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td style="background-color: #f7f7f7"&gt;        {      &lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td&gt;            display: block !important;   &lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td style="background-color: #f7f7f7"&gt;            left: -999px;   &lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td&gt;        }  &lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td style="background-color: #f7f7f7"&gt;&lt;span style="color: blue"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="font-size: 11px"&gt;style&lt;/span&gt;&lt;span style="color: blue"&gt;&amp;gt;&lt;/span&gt;&lt;span style="font-size: 11px"&gt; &lt;/span&gt;&lt;/td&gt;
        &lt;/tr&gt;
    &lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;p&gt;In Interent Explorer JAWS will also tell us that there are some frames. These are the IFRAMEs generated by RadMenu required to properly overlay windowed HTML elements (such as dropdownlists). If you don't have any dropdownlists which RadMenu should overlay you can use the following CSS to hide those IFRAMEs from JAWS:&lt;/p&gt;
&lt;div style="border-right: #7f9db9 1px solid; border-top: #7f9db9 1px solid; font-size: 11px; overflow: auto; border-left: #7f9db9 1px solid; line-height: 100%! important; border-bottom: #7f9db9 1px solid; font-family: courier new; background-color: white"&gt;
&lt;table style="border-top-width: 0px; border-left-width: 0px; margin: 2px 0px; width: 99%; border-bottom: #eee 0px solid; border-collapse: collapse; background-color: #fff; border-right-width: 0px" cellspacing="0" cellpadding="0"&gt;
    &lt;colgroup&gt;&lt;col style="padding-left: 10px; font-size: 11px; border-bottom: #f7f7f7 1px solid; font-family: courier new; white-space: nowrap" /&gt;&lt;/colgroup&gt;
    &lt;tbody&gt;
        &lt;tr&gt;
            &lt;td&gt;&lt;span style="font-size: 11px"&gt;div.RadMenu .rmSlide iframe   &lt;/span&gt;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td style="background-color: #f7f7f7"&gt;{   &lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td&gt;    display:none;     &lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td style="background-color: #f7f7f7"&gt;} &lt;/td&gt;
        &lt;/tr&gt;
    &lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;p &gt;I hope this helps. And don't forget to enable JavaScript back after finished testing :)&lt;/p&gt;
&lt;p&gt;[&lt;a href="http://blogs.telerik.com/photos/storage/korchev/RadMenuAccessibility.zip"&gt;Download&lt;/a&gt;]&lt;/p&gt;
</description>
      <link>http://blogs.telerik.com/AtanasKorchev/Posts/08-10-02/RadMenu_for_ASP_NET_Ajax_-_Working_with_disabled_JavaScript.aspx</link>
      <author>Atanas Korchev</author>
      <comments>http://blogs.telerik.com/AtanasKorchev/Posts/08-10-02/RadMenu_for_ASP_NET_Ajax_-_Working_with_disabled_JavaScript.aspx</comments>
      <guid isPermaLink="false">7b706c0f-2cb4-494d-8bd6-ad0501b647a4</guid>
      <pubDate>Thu, 02 Oct 2008 10:27:48 GMT</pubDate>
    </item>
    <item>
      <title>RadTreeView for ASP.NET Ajax - Binding to LinqDataSource</title>
      <description>&lt;p&gt;Since the Q2 2008 SP1 release &lt;a href="http://www.telerik.com/products/aspnet-ajax/controls/treeview/overview.aspx"&gt;RadTreeView&lt;/a&gt;, &lt;a href="http://www.telerik.com/products/aspnet-ajax/controls/menu/overview.aspx"&gt;RadMenu&lt;/a&gt;, &lt;a href="http://www.telerik.com/products/aspnet-ajax/controls/panelbar/overview.aspx"&gt;RadPanelBar&lt;/a&gt; and &lt;a href="http://www.telerik.com/products/aspnet-ajax/controls/tabstrip/overview.aspx"&gt;RadTabStrip&lt;/a&gt; support hierarchical databinding to the &lt;a href="http://msdn.microsoft.com/en-us/library/bb547113.aspx"&gt;LinqDataSource&lt;/a&gt; control. In this blog post I will demonstrate how to do this with RadTreeView (the steps are identical for the aforementioned controls).&lt;/p&gt;
&lt;ol&gt;
    &lt;li&gt;Create a new Web Site in Visual Studio 2008 and copy the Nortwind database in your App_Data folder &lt;/li&gt;
    &lt;li&gt;Add a new "Linq to SQL classes" item named "Northwind.dbml" &lt;br /&gt;
    &lt;a href="http://blogs.telerik.com/Libraries/MetaBlog/WindowsLiveWriter-dataclasses_2.sflb"&gt;&lt;img width="644" height="424" style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" alt="dataclasses" src="http://blogs.telerik.com/Libraries/MetaBlog/WindowsLiveWriter-dataclasses_thumb.sflb" border="0" /&gt;&lt;/a&gt; &lt;/li&gt;
    &lt;li&gt;Open "Northwind.dbml" in design mode and drag the Employees table from Server Explorer. The Employees table is self referencing and suites perfectly for this example &lt;br /&gt;
    &lt;a href="http://blogs.telerik.com/Libraries/MetaBlog/WindowsLiveWriter-employees_2.sflb"&gt;&lt;img width="624" height="484" style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" alt="employees" src="http://blogs.telerik.com/Libraries/MetaBlog/WindowsLiveWriter-employees_thumb.sflb" border="0" /&gt;&lt;/a&gt; &lt;/li&gt;
    &lt;li&gt;Open Default.aspx in design mode and drag a new RadTreeView instance. &lt;/li&gt;
    &lt;li&gt;Open the smart tag and select "New data source": &lt;br /&gt;
    &lt;a href="http://blogs.telerik.com/Libraries/MetaBlog/WindowsLiveWriter-datasource_2.sflb"&gt;&lt;img width="644" height="309" style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" alt="datasource" src="http://blogs.telerik.com/Libraries/MetaBlog/WindowsLiveWriter-datasource_thumb.sflb" border="0" /&gt;&lt;/a&gt; &lt;/li&gt;
    &lt;li&gt;Choose "LinqDataSource" from the "Data Source Configuration Wizard": &lt;br /&gt;
    &lt;a href="http://blogs.telerik.com/Libraries/MetaBlog/WindowsLiveWriter-linqdatasource_2.sflb"&gt;&lt;img width="644" height="481" style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" alt="linqdatasource" src="http://blogs.telerik.com/Libraries/MetaBlog/WindowsLiveWriter-linqdatasource_thumb.sflb" border="0" /&gt;&lt;/a&gt; &lt;/li&gt;
    &lt;li&gt;Configure the newly created datasource to use the NorhtwindDataContext object: &lt;br /&gt;
    &lt;a href="http://blogs.telerik.com/Libraries/MetaBlog/WindowsLiveWriter-choosecontextobject_2.sflb"&gt;&lt;img width="644" height="475" style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" alt="choosecontextobject" src="http://blogs.telerik.com/Libraries/MetaBlog/WindowsLiveWriter-choosecontextobject_thumb.sflb" border="0" /&gt;&lt;/a&gt; &lt;/li&gt;
    &lt;li&gt;Select the "EmployeeID", "LastName" and "ReportsTo" columns from the "Configure Data Source" dialog: &lt;br /&gt;
    &lt;a href="http://blogs.telerik.com/Libraries/MetaBlog/WindowsLiveWriter-configuredataselection_2.sflb"&gt;&lt;img width="644" height="475" style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" alt="configuredataselection" src="http://blogs.telerik.com/Libraries/MetaBlog/WindowsLiveWriter-configuredataselection_thumb.sflb" border="0" /&gt;&lt;/a&gt; &lt;/li&gt;
    &lt;li&gt;Click "Finish" and open the RadTreeView smart tag to complete the configuration &lt;/li&gt;
    &lt;li&gt;Select "EmployeeID" for the DataFieldID property, "ReportsTo" for the DataFieldParentID property and "LastName" for the DataTextField property: &lt;br /&gt;
    &lt;table cellspacing="0" cellpadding="2" width="400" border="0"&gt;
        &lt;tbody&gt;
            &lt;tr&gt;
                &lt;td valign="top" width="133"&gt;&lt;a href="http://blogs.telerik.com/Libraries/MetaBlog/WindowsLiveWriter-image_2%20(1).sflb"&gt;&lt;img width="231" height="484" style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" alt="image" src="http://blogs.telerik.com/Libraries/MetaBlog/WindowsLiveWriter-image_thumb%20(1).sflb" border="0" /&gt;&lt;/a&gt;&lt;/td&gt;
                &lt;td valign="top" width="133"&gt;&lt;a href="http://blogs.telerik.com/Libraries/MetaBlog/WindowsLiveWriter-datafieldparentid_2.sflb"&gt;&lt;img width="233" height="484" style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" alt="datafieldparentid" src="http://blogs.telerik.com/Libraries/MetaBlog/WindowsLiveWriter-datafieldparentid_thumb.sflb" border="0" /&gt;&lt;/a&gt;&lt;/td&gt;
                &lt;td valign="top" width="133"&gt;&lt;a href="http://blogs.telerik.com/Libraries/MetaBlog/WindowsLiveWriter-datatextfield_2.sflb"&gt;&lt;img width="232" height="484" style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" alt="datatextfield" src="http://blogs.telerik.com/Libraries/MetaBlog/WindowsLiveWriter-datatextfield_thumb.sflb" border="0" /&gt;&lt;/a&gt;&lt;/td&gt;
            &lt;/tr&gt;
        &lt;/tbody&gt;
    &lt;/table&gt;
    &lt;/li&gt;
    &lt;li&gt;Save your page and run the web site. You should see the following page: &lt;br /&gt;
    &lt;a href="http://blogs.telerik.com/Libraries/MetaBlog/WindowsLiveWriter-image_4%20(1).sflb"&gt;&lt;img width="660" height="243" style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" alt="image" src="http://blogs.telerik.com/Libraries/MetaBlog/WindowsLiveWriter-image_thumb_1%20(1).sflb" border="0" /&gt;&lt;/a&gt; &lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;[&lt;a href="http://blogs.telerik.com/photos/storage/korchev/RadTreeViewLinqDataSource.zip"&gt;Download&lt;/a&gt;]&lt;/p&gt;
</description>
      <link>http://blogs.telerik.com/AtanasKorchev/Posts/08-10-01/RadTreeView_for_ASP_NET_Ajax_-_Binding_to_LinqDataSource.aspx</link>
      <author>Atanas Korchev</author>
      <comments>http://blogs.telerik.com/AtanasKorchev/Posts/08-10-01/RadTreeView_for_ASP_NET_Ajax_-_Binding_to_LinqDataSource.aspx</comments>
      <guid isPermaLink="false">694ae1f2-9ded-4f7b-b920-dec0d5ef0b4e</guid>
      <pubDate>Wed, 01 Oct 2008 04:26:01 GMT</pubDate>
    </item>
    <item>
      <title>RadTreeView for ASP.NET Ajax - Optimizing Load On Demand performance</title>
      <description>&lt;p&gt;In a &lt;a href="http://blogs.telerik.com/AtanasKorchev/Posts/08-08-06/Performance_Tip_Use_Web_Service_Load_On_Demand_with_RadTreeView.aspx"&gt;previous blog post&lt;/a&gt; I mentioned that you should use WebService load on demand in order to squeeze the most performance from RadTreeView. In this post I will show a few other tricks which can be used to improve the loading time even further. All techniques are optional and can be used independently.&lt;/p&gt;
&lt;p&gt;We start with a simple page containing only a single RadTreeView control with one root node. The testing environment is:&lt;/p&gt;
&lt;ul&gt;
    &lt;li&gt;Visual Studio 2008 SP1 &lt;/li&gt;
    &lt;li&gt;Intel Core 2 Duo E6550 @ 2.33GHz. &lt;/li&gt;
    &lt;li&gt;IIS7 web site&lt;/li&gt;
    &lt;li&gt;Internet Explorer 7&lt;/li&gt;
    &lt;li&gt;Latest internal build of Telerik.Web.UI.dll (which will go live with the Q3 2008 release)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Here is the test page:&lt;/p&gt;
&lt;div style="border: 1px solid rgb(127, 157, 185); overflow: auto; background-color: white; line-height: 100% ! important; font-family: courier new; font-size: 11px;"&gt;
&lt;table cellspacing="0" cellpadding="0" style="border-width: 0px; border-bottom: 0px solid rgb(238, 238, 238); margin: 2px 0px; width: 99%; border-collapse: collapse; background-color: rgb(255, 255, 255);"&gt;
    &lt;col style="border-bottom: 1px solid rgb(247, 247, 247); font-family: courier new; font-size: 11px; padding-left: 10px; white-space: nowrap;" /&gt;
    &lt;tbody&gt;
        &lt;tr&gt;
            &lt;td&gt;&lt;span style="font-size: 11px;"&gt;&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="font-size: 11px;"&gt;telerik:RadScriptManager&amp;nbsp;&lt;/span&gt;&lt;span style="color: red;"&gt;runat&lt;/span&gt;&lt;span style="font-size: 11px;"&gt;=&lt;/span&gt;&lt;span style="color: blue;"&gt;"server"&lt;/span&gt;&lt;span style="font-size: 11px;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: red;"&gt;ID&lt;/span&gt;&lt;span style="font-size: 11px;"&gt;=&lt;/span&gt;&lt;span style="color: blue;"&gt;"RadScriptManager1"&lt;/span&gt;&lt;span style="font-size: 11px;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: blue;"&gt;/&amp;gt;&lt;/span&gt;&lt;span style="font-size: 11px;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td style="background-color: rgb(247, 247, 247);"&gt;&amp;nbsp;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td&gt;&lt;span style="color: blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="font-size: 11px;"&gt;script&amp;nbsp;&lt;/span&gt;&lt;span style="color: red;"&gt;type&lt;/span&gt;&lt;span style="font-size: 11px;"&gt;=&lt;/span&gt;&lt;span style="color: blue;"&gt;"text/javascript"&lt;/span&gt;&lt;span style="font-size: 11px;"&gt;&amp;gt;&amp;nbsp;&lt;/span&gt;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td style="background-color: rgb(247, 247, 247);"&gt;var&amp;nbsp;start;&amp;nbsp;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td&gt;&amp;nbsp;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td style="background-color: rgb(247, 247, 247);"&gt;function&amp;nbsp;nodePopulating()&amp;nbsp;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td&gt;{&amp;nbsp;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td style="background-color: rgb(247, 247, 247);"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: red;"&gt;start&lt;/span&gt;&lt;span style="font-size: 11px;"&gt;&amp;nbsp;=&amp;nbsp;&lt;/span&gt;&lt;span style="color: blue;"&gt;new&lt;/span&gt;&lt;span style="font-size: 11px;"&gt;&amp;nbsp;Date();&amp;nbsp;&lt;/span&gt;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td&gt;}&amp;nbsp;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td style="background-color: rgb(247, 247, 247);"&gt;&amp;nbsp;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td&gt;function&amp;nbsp;nodePopulated()&amp;nbsp;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td style="background-color: rgb(247, 247, 247);"&gt;{&amp;nbsp;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;var&amp;nbsp;&lt;span style="color: red;"&gt;end&lt;/span&gt;&lt;span style="font-size: 11px;"&gt;&amp;nbsp;=&amp;nbsp;&lt;/span&gt;&lt;span style="color: blue;"&gt;new&lt;/span&gt;&lt;span style="font-size: 11px;"&gt;&amp;nbsp;Date();&amp;nbsp;&lt;/span&gt;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td style="background-color: rgb(247, 247, 247);"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: red;"&gt;document.title&lt;/span&gt;&lt;span style="font-size: 11px;"&gt;&amp;nbsp;=&amp;nbsp;&lt;/span&gt;&lt;span style="color: blue;"&gt;end&lt;/span&gt;&lt;span style="font-size: 11px;"&gt;&amp;nbsp;-&amp;nbsp;start;&amp;nbsp;&lt;/span&gt;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td&gt;}&amp;nbsp;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td style="background-color: rgb(247, 247, 247);"&gt;&amp;nbsp;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td&gt;&lt;span style="color: blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="font-size: 11px;"&gt;script&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="font-size: 11px;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td style="background-color: rgb(247, 247, 247);"&gt;&lt;span style="color: blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="font-size: 11px;"&gt;telerik:RadTreeView&amp;nbsp;&lt;/span&gt;&lt;span style="color: red;"&gt;runat&lt;/span&gt;&lt;span style="font-size: 11px;"&gt;=&lt;/span&gt;&lt;span style="color: blue;"&gt;"server"&lt;/span&gt;&lt;span style="font-size: 11px;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: red;"&gt;ID&lt;/span&gt;&lt;span style="font-size: 11px;"&gt;=&lt;/span&gt;&lt;span style="color: blue;"&gt;"RadTreeView1"&lt;/span&gt;&lt;span style="font-size: 11px;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: red;"&gt;OnClientNodePopulating&lt;/span&gt;&lt;span style="font-size: 11px;"&gt;=&lt;/span&gt;&lt;span style="color: blue;"&gt;"nodePopulating"&lt;/span&gt;&lt;span style="font-size: 11px;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td style="background-color: rgb(247, 247, 247);"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: red;"&gt;OnClientNodePopulated&lt;/span&gt;&lt;span style="font-size: 11px;"&gt;=&lt;/span&gt;&lt;span style="color: blue;"&gt;"nodePopulated"&lt;/span&gt;&lt;span style="font-size: 11px;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: red;"&gt;Height&lt;/span&gt;&lt;span style="font-size: 11px;"&gt;=&lt;/span&gt;&lt;span style="color: blue;"&gt;"300px"&lt;/span&gt;&lt;span style="font-size: 11px;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td style="background-color: rgb(247, 247, 247);"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: red;"&gt;Width&lt;/span&gt;&lt;span style="font-size: 11px;"&gt;=&lt;/span&gt;&lt;span style="color: blue;"&gt;"300px"&lt;/span&gt;&lt;span style="font-size: 11px;"&gt;&amp;gt;&amp;nbsp;&lt;/span&gt;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="font-size: 11px;"&gt;WebServiceSettings&amp;nbsp;&lt;/span&gt;&lt;span style="color: red;"&gt;Method&lt;/span&gt;&lt;span style="font-size: 11px;"&gt;=&lt;/span&gt;&lt;span style="color: blue;"&gt;"GetNodes"&lt;/span&gt;&lt;span style="font-size: 11px;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: red;"&gt;Path&lt;/span&gt;&lt;span style="font-size: 11px;"&gt;=&lt;/span&gt;&lt;span style="color: blue;"&gt;"WebService.asmx"&lt;/span&gt;&lt;span style="font-size: 11px;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: blue;"&gt;/&amp;gt;&lt;/span&gt;&lt;span style="font-size: 11px;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td style="background-color: rgb(247, 247, 247);"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="font-size: 11px;"&gt;Nodes&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="font-size: 11px;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="font-size: 11px;"&gt;telerik:RadTreeNode&amp;nbsp;&lt;/span&gt;&lt;span style="color: red;"&gt;Text&lt;/span&gt;&lt;span style="font-size: 11px;"&gt;=&lt;/span&gt;&lt;span style="color: blue;"&gt;"Expand"&lt;/span&gt;&lt;span style="font-size: 11px;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: red;"&gt;ExpandMode&lt;/span&gt;&lt;span style="font-size: 11px;"&gt;=&lt;/span&gt;&lt;span style="color: blue;"&gt;"WebService"&lt;/span&gt;&lt;span style="font-size: 11px;"&gt;&amp;gt;&amp;nbsp;&lt;/span&gt;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td style="background-color: rgb(247, 247, 247);"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="font-size: 11px;"&gt;telerik:RadTreeNode&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="font-size: 11px;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="font-size: 11px;"&gt;Nodes&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="font-size: 11px;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td style="background-color: rgb(247, 247, 247);"&gt;&lt;span style="color: blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="font-size: 11px;"&gt;telerik:RadTreeView&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="font-size: 11px;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/td&gt;
        &lt;/tr&gt;
    &lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;br /&gt;
&lt;p&gt;The code in nodePopulating and nodePopulated is used to measure the actual time required to load 1000 nodes from web service. &lt;/p&gt;
&lt;p&gt;Here is how the web service method looks like:&lt;/p&gt;
&lt;p&gt;
&lt;div style="border: 1px solid rgb(127, 157, 185); overflow: auto; background-color: white; line-height: 100% ! important; font-family: courier new; font-size: 11px;"&gt;
&lt;table cellspacing="0" cellpadding="0" style="border-width: 0px; border-bottom: 0px solid rgb(238, 238, 238); margin: 2px 0px; width: 99%; border-collapse: collapse; background-color: rgb(255, 255, 255);"&gt;
    &lt;col style="border-bottom: 1px solid rgb(247, 247, 247); font-family: courier new; font-size: 11px; padding-left: 10px; white-space: nowrap;" /&gt;
    &lt;tbody&gt;
        &lt;tr&gt;
            &lt;td&gt;&lt;span style="font-size: 11px;"&gt;[WebMethod]&amp;nbsp;&lt;/span&gt;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td style="background-color: rgb(247, 247, 247);"&gt;&lt;span style="color: blue;"&gt;public&lt;/span&gt;&lt;span style="font-size: 11px;"&gt;&amp;nbsp;IEnumerable&amp;lt;RadTreeNodeData&amp;gt;&amp;nbsp;GetNodes()&amp;nbsp;&lt;/span&gt;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td&gt;{&amp;nbsp;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td style="background-color: rgb(247, 247, 247);"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: blue;"&gt;for&lt;/span&gt;&lt;span style="font-size: 11px;"&gt;&amp;nbsp;(&lt;/span&gt;&lt;span style="color: blue;"&gt;int&lt;/span&gt;&lt;span style="font-size: 11px;"&gt;&amp;nbsp;i&amp;nbsp;=&amp;nbsp;0;&amp;nbsp;i&amp;nbsp;&amp;lt;&amp;nbsp;1000;&amp;nbsp;i++)&amp;nbsp;&lt;/span&gt;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&amp;nbsp;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td style="background-color: rgb(247, 247, 247);"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;RadTreeNodeData&amp;nbsp;data&amp;nbsp;=&amp;nbsp;&lt;span style="color: blue;"&gt;new&lt;/span&gt;&lt;span style="font-size: 11px;"&gt;&amp;nbsp;RadTreeNodeData();&amp;nbsp;&lt;/span&gt;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;data.Text&amp;nbsp;=&amp;nbsp;&lt;span style="color: blue;"&gt;"Node&amp;nbsp;"&lt;/span&gt;&lt;span style="font-size: 11px;"&gt;&amp;nbsp;+&amp;nbsp;i;&amp;nbsp;&lt;/span&gt;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td style="background-color: rgb(247, 247, 247);"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;yield&amp;nbsp;&lt;span style="color: blue;"&gt;return&lt;/span&gt;&lt;span style="font-size: 11px;"&gt;&amp;nbsp;data;&amp;nbsp;&lt;/span&gt;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&amp;nbsp;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td style="background-color: rgb(247, 247, 247);"&gt;}&amp;nbsp;&lt;/td&gt;
        &lt;/tr&gt;
    &lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;/p&gt;
&lt;p&gt;Running this page will show an alert - "Error during serialization or deserialization using the JSON JavaScriptSerializer. The length of the string exceeds the value set on the maxJsonLength property". That's because the JSON output of 1000 RadTreeNodeData objects is too large. As a workaround let's add this in the web.config to increase the maxJsonLength property:&lt;/p&gt;
&lt;p&gt;
&lt;div style="border: 1px solid rgb(127, 157, 185); overflow: auto; background-color: white; line-height: 100% ! important; font-family: courier new; font-size: 11px;"&gt;
&lt;table cellspacing="0" cellpadding="0" style="border-width: 0px; border-bottom: 0px solid rgb(238, 238, 238); margin: 2px 0px; width: 99%; border-collapse: collapse; background-color: rgb(255, 255, 255);"&gt;
    &lt;col style="border-bottom: 1px solid rgb(247, 247, 247); font-family: courier new; font-size: 11px; padding-left: 10px; white-space: nowrap;" /&gt;
    &lt;tbody&gt;
        &lt;tr&gt;
            &lt;td&gt;&lt;span style="font-size: 11px;"&gt;&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="font-size: 11px;"&gt;system.web.extensions&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="font-size: 11px;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td style="background-color: rgb(247, 247, 247);"&gt;&amp;nbsp;&amp;nbsp;&lt;span style="color: blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="font-size: 11px;"&gt;scripting&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="font-size: 11px;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="font-size: 11px;"&gt;webServices&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="font-size: 11px;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td style="background-color: rgb(247, 247, 247);"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="font-size: 11px;"&gt;jsonSerialization&amp;nbsp;&lt;/span&gt;&lt;span style="color: red;"&gt;maxJsonLength&lt;/span&gt;&lt;span style="font-size: 11px;"&gt;=&lt;/span&gt;&lt;span style="color: blue;"&gt;"500000"&lt;/span&gt;&lt;span style="font-size: 11px;"&gt;&amp;gt;&amp;nbsp;&lt;/span&gt;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="font-size: 11px;"&gt;jsonSerialization&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="font-size: 11px;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td style="background-color: rgb(247, 247, 247);"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="font-size: 11px;"&gt;webServices&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="font-size: 11px;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td&gt;&amp;nbsp;&amp;nbsp;&lt;span style="color: blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="font-size: 11px;"&gt;scripting&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="font-size: 11px;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td style="background-color: rgb(247, 247, 247);"&gt;&lt;span style="color: blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="font-size: 11px;"&gt;system.web.extensions&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="font-size: 11px;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/td&gt;
        &lt;/tr&gt;
    &lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;/p&gt;
&lt;p&gt;Now the page runs fine. Expanding the node takes about 3500ms&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.telerik.com/Libraries/MetaBlog/WindowsLiveWriter-image_2.sflb"&gt;&lt;img height="244" border="0" width="216" src="http://blogs.telerik.com/Libraries/MetaBlog/WindowsLiveWriter-image_thumb.sflb" alt="image" style="border: 0px none ;" /&gt;&lt;/a&gt; &lt;/p&gt;
&lt;p&gt;Let's see if we can do anything to improve that time.&lt;/p&gt;
&lt;h3&gt;Use a custom class instead of RadTreeNodeData&lt;/h3&gt;
&lt;p&gt;The first thing to try is use a custom class to serialize less output than RadTreeNodeData. Here is what I mean:   &lt;/p&gt;
&lt;div style="border: 1px solid rgb(127, 157, 185); overflow: auto; background-color: white; line-height: 100% ! important; font-family: courier new; font-size: 11px;"&gt;
&lt;table cellspacing="0" cellpadding="0" style="border-width: 0px; border-bottom: 0px solid rgb(238, 238, 238); margin: 2px 0px; width: 99%; border-collapse: collapse; background-color: rgb(255, 255, 255);"&gt;
    &lt;col style="border-bottom: 1px solid rgb(247, 247, 247); font-family: courier new; font-size: 11px; padding-left: 10px; white-space: nowrap;" /&gt;
    &lt;tbody&gt;
        &lt;tr&gt;
            &lt;td&gt;&lt;span style="font-size: 11px;"&gt;[WebMethod]&amp;nbsp;&lt;/span&gt;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td style="background-color: rgb(247, 247, 247);"&gt;&lt;span style="color: blue;"&gt;public&lt;/span&gt;&lt;span style="font-size: 11px;"&gt;&amp;nbsp;IEnumerable&amp;nbsp;GetNodes()&amp;nbsp;&lt;/span&gt;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td&gt;{&amp;nbsp;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td style="background-color: rgb(247, 247, 247);"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: blue;"&gt;for&lt;/span&gt;&lt;span style="font-size: 11px;"&gt;&amp;nbsp;(&lt;/span&gt;&lt;span style="color: blue;"&gt;int&lt;/span&gt;&lt;span style="font-size: 11px;"&gt;&amp;nbsp;i&amp;nbsp;=&amp;nbsp;0;&amp;nbsp;i&amp;nbsp;&amp;lt;&amp;nbsp;1000;&amp;nbsp;i++)&amp;nbsp;&lt;/span&gt;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&amp;nbsp;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td style="background-color: rgb(247, 247, 247);"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;NodeData&amp;nbsp;data&amp;nbsp;=&amp;nbsp;&lt;span style="color: blue;"&gt;new&lt;/span&gt;&lt;span style="font-size: 11px;"&gt;&amp;nbsp;NodeData();&amp;nbsp;&lt;/span&gt;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;data.Text&amp;nbsp;=&amp;nbsp;&lt;span style="color: blue;"&gt;"Node&amp;nbsp;"&lt;/span&gt;&lt;span style="font-size: 11px;"&gt;&amp;nbsp;+&amp;nbsp;i;&amp;nbsp;&lt;/span&gt;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td style="background-color: rgb(247, 247, 247);"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;yield&amp;nbsp;&lt;span style="color: blue;"&gt;return&lt;/span&gt;&lt;span style="font-size: 11px;"&gt;&amp;nbsp;data;&amp;nbsp;&lt;/span&gt;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&amp;nbsp;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td style="background-color: rgb(247, 247, 247);"&gt;}&amp;nbsp;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td&gt;&amp;nbsp;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td style="background-color: rgb(247, 247, 247);"&gt;&lt;span style="color: blue;"&gt;class&lt;/span&gt;&lt;span style="font-size: 11px;"&gt;&amp;nbsp;NodeData&amp;nbsp;&lt;/span&gt;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td&gt;{&amp;nbsp;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td style="background-color: rgb(247, 247, 247);"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: blue;"&gt;public&lt;/span&gt;&lt;span style="font-size: 11px;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: blue;"&gt;string&lt;/span&gt;&lt;span style="font-size: 11px;"&gt;&amp;nbsp;Text&amp;nbsp;{&amp;nbsp;&lt;/span&gt;&lt;span style="color: blue;"&gt;get&lt;/span&gt;&lt;span style="font-size: 11px;"&gt;;&amp;nbsp;&lt;/span&gt;&lt;span style="color: blue;"&gt;set&lt;/span&gt;&lt;span style="font-size: 11px;"&gt;;&amp;nbsp;}&amp;nbsp;&lt;/span&gt;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td&gt;}&amp;nbsp;&lt;/td&gt;
        &lt;/tr&gt;
    &lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;br /&gt;
&lt;p&gt;This dramatically decreases total size of JSON which goes back to the client browser. It also improves the time to load 1000 nodes to about 3000ms:&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.telerik.com/Libraries/MetaBlog/WindowsLiveWriter-image_4.sflb"&gt;&lt;img height="244" border="0" width="216" src="http://blogs.telerik.com/Libraries/MetaBlog/WindowsLiveWriter-image_thumb_1.sflb" alt="image" style="border: 0px none ;" /&gt;&lt;/a&gt; &lt;/p&gt;
&lt;h3&gt;Do not persist nodes loaded on demand&lt;/h3&gt;
&lt;p&gt;Setting the &lt;strong&gt;PersistLoadOnDemandNodes&lt;/strong&gt; property to &lt;strong&gt;false&lt;/strong&gt; would also improve performance. However the nodes loaded on demand won't be able to fire server-side events (NodeClick, NodeDrop etc). There are workarounds still - using RadAjaxManager to simulate postbacks. Disabling node persistence cuts of the loading time almost in half - to about 1700ms:&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.telerik.com/Libraries/MetaBlog/WindowsLiveWriter-image_6.sflb"&gt;&lt;img height="244" border="0" width="216" src="http://blogs.telerik.com/Libraries/MetaBlog/WindowsLiveWriter-image_thumb_2.sflb" alt="image" style="border: 0px none ;" /&gt;&lt;/a&gt; &lt;/p&gt;
&lt;h3&gt;Make sure ASP.NET Ajax scripts are not in debug mode&lt;/h3&gt;
&lt;p&gt;Either set &amp;lt;compilation debug="false"&amp;gt; in your web.config our set the ScriptMode property of the ScriptManager to "Release". This is a general performance tip when working with RadControls for ASP.NET Ajax. Always deploy your web sites with &amp;lt;compilation debug="false"&amp;gt;. In this case the load time got to about 1400ms:   &lt;br /&gt;
&lt;a href="http://blogs.telerik.com/Libraries/MetaBlog/WindowsLiveWriter-image_8.sflb"&gt;&lt;img height="244" border="0" width="216" src="http://blogs.telerik.com/Libraries/MetaBlog/WindowsLiveWriter-image_thumb_3.sflb" alt="image" style="border: 0px none ;" /&gt;&lt;/a&gt; &lt;/p&gt;
&lt;h3&gt;Line images affect performance&lt;/h3&gt;
&lt;p&gt;By using a skin with no line images (e.g. "Vista") or setting the ShowLineImages property to "False" you can improve the loading time even more - now it takes 756ms to load 1000 nodes!&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.telerik.com/Libraries/MetaBlog/WindowsLiveWriter-image_10.sflb"&gt;&lt;img height="244" border="0" width="216" src="http://blogs.telerik.com/Libraries/MetaBlog/WindowsLiveWriter-image_thumb_4.sflb" alt="image" style="border: 0px none ;" /&gt;&lt;/a&gt; &lt;/p&gt;
&lt;p&gt;Now let's try in the other browsers.&lt;/p&gt;
&lt;table cellspacing="0" cellpadding="2" border="0" width="436"&gt;
    &lt;tbody&gt;
        &lt;tr&gt;
            &lt;td width="218" valign="top"&gt;FireFox 3.0 - 230ms&lt;/td&gt;
            &lt;td width="226" valign="top"&gt;Google Chrome 0.2.149.30 - 229ms&lt;/td&gt;
            &lt;td width="205" valign="top"&gt;Opera 9.5 - 238ms&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td width="218" valign="top"&gt;&lt;a href="http://blogs.telerik.com/Libraries/MetaBlog/WindowsLiveWriter-image_12.sflb"&gt;&lt;img height="244" border="0" width="213" src="http://blogs.telerik.com/Libraries/MetaBlog/WindowsLiveWriter-image_thumb_5.sflb" alt="image" style="border: 0px none ;" /&gt;&lt;/a&gt; &lt;/td&gt;
            &lt;td width="226" valign="top"&gt;&lt;a href="http://blogs.telerik.com/Libraries/MetaBlog/WindowsLiveWriter-image_16.sflb"&gt;&lt;img height="244" border="0" width="204" src="http://blogs.telerik.com/Libraries/MetaBlog/WindowsLiveWriter-image_thumb_7.sflb" alt="image" style="border: 0px none ;" /&gt;&lt;/a&gt; &lt;/td&gt;
            &lt;td width="205" valign="top"&gt;&lt;a href="http://blogs.telerik.com/Libraries/MetaBlog/WindowsLiveWriter-image_20.sflb"&gt;&lt;img height="244" border="0" width="215" src="http://blogs.telerik.com/Libraries/MetaBlog/WindowsLiveWriter-image_thumb_9.sflb" alt="image" style="border: 0px none ;" /&gt;&lt;/a&gt; &lt;/td&gt;
        &lt;/tr&gt;
    &lt;/tbody&gt;
&lt;/table&gt;
</description>
      <link>http://blogs.telerik.com/AtanasKorchev/Posts/08-09-24/RadTreeView_for_ASP_NET_Ajax_-_Optimizing_Load_On_Demand_performance.aspx</link>
      <author>Atanas Korchev</author>
      <comments>http://blogs.telerik.com/AtanasKorchev/Posts/08-09-24/RadTreeView_for_ASP_NET_Ajax_-_Optimizing_Load_On_Demand_performance.aspx</comments>
      <guid isPermaLink="false">083a14a9-db19-4bab-a132-23f19e3351ba</guid>
      <pubDate>Wed, 24 Sep 2008 09:54:08 GMT</pubDate>
    </item>
    <item>
      <title>Don't store ASP.NET controls in Session, Application or Cache</title>
      <description>&lt;p&gt;In some cases you may end up with the following exception when working with RadControls for ASP.NET Ajax:&lt;/p&gt;
&lt;p&gt;"&lt;em&gt;Script controls may not be registered after PreRender.&lt;/em&gt;"&lt;/p&gt;
&lt;p&gt;The explanation of this error is simple - some UI control implementing the &lt;a href="http://msdn.microsoft.com/en-us/library/system.web.ui.iscriptcontrol.aspx"&gt;IScriptControl&lt;/a&gt; interface (e.g. any control from the RadControls for ASP.NET Ajax suite) is stored in the &lt;a href="http://msdn.microsoft.com/en-us/library/system.web.ui.page.session.aspx"&gt;Session&lt;/a&gt;, &lt;a href="http://msdn.microsoft.com/en-us/library/system.web.ui.page.application.aspx"&gt;Application&lt;/a&gt; or &lt;a href="http://msdn.microsoft.com/en-us/library/system.web.ui.page.cache.aspx"&gt;Cache&lt;/a&gt; and then is added in some live controls collection. Here is an example:&lt;/p&gt;
&lt;div style="border: 1px solid rgb(127, 157, 185); overflow: auto; background-color: white; line-height: 100% ! important; font-family: courier new; font-size: 11px;"&gt;
&lt;table cellspacing="0" cellpadding="0" style="border-width: 0px; border-bottom: 0px solid rgb(238, 238, 238); margin: 2px 0px; width: 99%; border-collapse: collapse; background-color: rgb(255, 255, 255);"&gt;
    &lt;col style="border-bottom: 1px solid rgb(247, 247, 247); font-family: courier new; font-size: 11px; padding-left: 10px; white-space: nowrap;" /&gt;
    &lt;tbody&gt;
        &lt;tr&gt;
            &lt;td&gt;&lt;span style="font-size: 11px;"&gt;&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="font-size: 11px;"&gt;%@&amp;nbsp;Page&amp;nbsp;&lt;/span&gt;&lt;span style="color: red;"&gt;Language&lt;/span&gt;&lt;span style="font-size: 11px;"&gt;=&lt;/span&gt;&lt;span style="color: blue;"&gt;"C#"&lt;/span&gt;&lt;span style="font-size: 11px;"&gt;&amp;nbsp;%&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="font-size: 11px;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td style="background-color: rgb(247, 247, 247);"&gt;&amp;lt;!DOCTYPE&amp;nbsp;html&amp;nbsp;PUBLIC&amp;nbsp;"-//W3C//DTD&amp;nbsp;XHTML&amp;nbsp;1.0&amp;nbsp;Transitional//EN"&amp;nbsp;"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"&lt;span style="color: blue;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="font-size: 11px;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td&gt;&lt;span style="color: blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="font-size: 11px;"&gt;script&amp;nbsp;&lt;/span&gt;&lt;span style="color: red;"&gt;runat&lt;/span&gt;&lt;span style="font-size: 11px;"&gt;=&lt;/span&gt;&lt;span style="color: blue;"&gt;"server"&lt;/span&gt;&lt;span style="font-size: 11px;"&gt;&amp;gt;&amp;nbsp;&lt;/span&gt;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td style="background-color: rgb(247, 247, 247);"&gt;&amp;nbsp;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;protected&amp;nbsp;void&amp;nbsp;Page_Load(object&amp;nbsp;sender,&amp;nbsp;EventArgs&amp;nbsp;e)&amp;nbsp;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td style="background-color: rgb(247, 247, 247);"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&amp;nbsp;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Timer&amp;nbsp;&lt;span style="color: red;"&gt;timer&lt;/span&gt;&lt;span style="font-size: 11px;"&gt;&amp;nbsp;=&amp;nbsp;(Timer)Session["Timer"];&amp;nbsp;&lt;/span&gt;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td style="background-color: rgb(247, 247, 247);"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if&amp;nbsp;(&lt;span style="color: red;"&gt;timer&lt;/span&gt;&lt;span style="font-size: 11px;"&gt;&amp;nbsp;==&amp;nbsp;null)&amp;nbsp;&lt;/span&gt;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&amp;nbsp;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td style="background-color: rgb(247, 247, 247);"&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;&lt;span style="color: red;"&gt;timer&lt;/span&gt;&lt;span style="font-size: 11px;"&gt;&amp;nbsp;=&amp;nbsp;&lt;/span&gt;&lt;span style="color: blue;"&gt;new&lt;/span&gt;&lt;span style="font-size: 11px;"&gt;&amp;nbsp;Timer&amp;nbsp;{&amp;nbsp;&lt;/span&gt;&lt;span style="color: red;"&gt;ID&lt;/span&gt;&lt;span style="font-size: 11px;"&gt;&amp;nbsp;=&amp;nbsp;&lt;/span&gt;&lt;span style="color: blue;"&gt;"Timer1"&lt;/span&gt;&lt;span style="font-size: 11px;"&gt;&amp;nbsp;};&amp;nbsp;&lt;/span&gt;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td&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;Session["Timer"]&amp;nbsp;=&amp;nbsp;timer;&amp;nbsp;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td style="background-color: rgb(247, 247, 247);"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&amp;nbsp;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td&gt;&amp;nbsp;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td style="background-color: rgb(247, 247, 247);"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;PlaceHolder1.Controls.Add(timer);&amp;nbsp;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Response.Write(&lt;span style="color: red;"&gt;timer.Page&lt;/span&gt;&lt;span style="font-size: 11px;"&gt;&amp;nbsp;==&amp;nbsp;this);&amp;nbsp;&lt;/span&gt;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td style="background-color: rgb(247, 247, 247);"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&amp;nbsp;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td&gt;&lt;span style="color: blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="font-size: 11px;"&gt;script&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="font-size: 11px;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td style="background-color: rgb(247, 247, 247);"&gt;&amp;nbsp;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td&gt;&lt;span style="color: blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="font-size: 11px;"&gt;html&amp;nbsp;&lt;/span&gt;&lt;span style="color: red;"&gt;xmlns&lt;/span&gt;&lt;span style="font-size: 11px;"&gt;=&lt;/span&gt;&lt;span style="color: blue;"&gt;"http://www.w3.org/1999/xhtml"&lt;/span&gt;&lt;span style="font-size: 11px;"&gt;&amp;gt;&amp;nbsp;&lt;/span&gt;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td style="background-color: rgb(247, 247, 247);"&gt;&lt;span style="color: blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="font-size: 11px;"&gt;head&amp;nbsp;&lt;/span&gt;&lt;span style="color: red;"&gt;runat&lt;/span&gt;&lt;span style="font-size: 11px;"&gt;=&lt;/span&gt;&lt;span style="color: blue;"&gt;"server"&lt;/span&gt;&lt;span style="font-size: 11px;"&gt;&amp;gt;&amp;nbsp;&lt;/span&gt;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="font-size: 11px;"&gt;title&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="font-size: 11px;"&gt;Caching&amp;nbsp;issues&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="font-size: 11px;"&gt;title&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="font-size: 11px;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td style="background-color: rgb(247, 247, 247);"&gt;&lt;span style="color: blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="font-size: 11px;"&gt;head&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="font-size: 11px;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td&gt;&lt;span style="color: blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="font-size: 11px;"&gt;body&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="font-size: 11px;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td style="background-color: rgb(247, 247, 247);"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="font-size: 11px;"&gt;form&amp;nbsp;&lt;/span&gt;&lt;span style="color: red;"&gt;id&lt;/span&gt;&lt;span style="font-size: 11px;"&gt;=&lt;/span&gt;&lt;span style="color: blue;"&gt;"form1"&lt;/span&gt;&lt;span style="font-size: 11px;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: red;"&gt;runat&lt;/span&gt;&lt;span style="font-size: 11px;"&gt;=&lt;/span&gt;&lt;span style="color: blue;"&gt;"server"&lt;/span&gt;&lt;span style="font-size: 11px;"&gt;&amp;gt;&amp;nbsp;&lt;/span&gt;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="font-size: 11px;"&gt;asp:ScriptManager&amp;nbsp;&lt;/span&gt;&lt;span style="color: red;"&gt;runat&lt;/span&gt;&lt;span style="font-size: 11px;"&gt;=&lt;/span&gt;&lt;span style="color: blue;"&gt;"server"&lt;/span&gt;&lt;span style="font-size: 11px;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: red;"&gt;ID&lt;/span&gt;&lt;span style="font-size: 11px;"&gt;=&lt;/span&gt;&lt;span style="color: blue;"&gt;"ScriptManager1"&lt;/span&gt;&lt;span style="font-size: 11px;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: blue;"&gt;/&amp;gt;&lt;/span&gt;&lt;span style="font-size: 11px;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td style="background-color: rgb(247, 247, 247);"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="font-size: 11px;"&gt;asp:PlaceHolder&amp;nbsp;&lt;/span&gt;&lt;span style="color: red;"&gt;runat&lt;/span&gt;&lt;span style="font-size: 11px;"&gt;=&lt;/span&gt;&lt;span style="color: blue;"&gt;"server"&lt;/span&gt;&lt;span style="font-size: 11px;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: red;"&gt;ID&lt;/span&gt;&lt;span style="font-size: 11px;"&gt;=&lt;/span&gt;&lt;span style="color: blue;"&gt;"PlaceHolder1"&lt;/span&gt;&lt;span style="font-size: 11px;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: blue;"&gt;/&amp;gt;&lt;/span&gt;&lt;span style="font-size: 11px;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: blue;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="font-size: 11px;"&gt;asp:Button&amp;nbsp;&lt;/span&gt;&lt;span style="color: red;"&gt;Text&lt;/span&gt;&lt;span style="font-size: 11px;"&gt;=&lt;/span&gt;&lt;span style="color: blue;"&gt;"Postback"&lt;/span&gt;&lt;span style="font-size: 11px;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: red;"&gt;ID&lt;/span&gt;&lt;span style="font-size: 11px;"&gt;=&lt;/span&gt;&lt;span style="color: blue;"&gt;"Button1"&lt;/span&gt;&lt;span style="font-size: 11px;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: red;"&gt;runat&lt;/span&gt;&lt;span style="font-size: 11px;"&gt;=&lt;/span&gt;&lt;span style="color: blue;"&gt;"server"&lt;/span&gt;&lt;span style="font-size: 11px;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: blue;"&gt;/&amp;gt;&lt;/span&gt;&lt;span style="font-size: 11px;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td style="background-color: rgb(247, 247, 247);"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="font-size: 11px;"&gt;form&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="font-size: 11px;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td&gt;&lt;span style="color: blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="font-size: 11px;"&gt;body&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="font-size: 11px;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td style="background-color: rgb(247, 247, 247);"&gt;&lt;span style="color: blue;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="font-size: 11px;"&gt;html&lt;/span&gt;&lt;span style="color: blue;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="font-size: 11px;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/td&gt;
        &lt;/tr&gt;
    &lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;br /&gt;
&lt;p&gt;Here a &lt;a href="http://msdn.microsoft.com/en-us/library/system.web.ui.timer.aspx"&gt;Timer&lt;/a&gt; control is stored in session state thus avoiding its creation on every page load. Sounds quite reasonable, doesn't it? Unfortunately not. If you load this page and then press the "Postback" button you will end up with the yellow screen of death saying that "Script controls may not be registered after PreRender". But why? The answer is simple - caching. The Timer control (as well as most IScriptControls) caches a reference to the current &lt;a href="http://msdn.microsoft.com/en-us/library/system.web.ui.scriptmanager.aspx"&gt;ScriptManager&lt;/a&gt; (current means "from the current Page"). Here is how:    &lt;/p&gt;
&lt;p&gt;
&lt;div style="border: 1px solid rgb(127, 157, 185); overflow: auto; background-color: white; line-height: 100% ! important; font-family: courier new; font-size: 11px;"&gt;
&lt;table cellspacing="0" cellpadding="0" style="border-width: 0px; border-bottom: 0px solid rgb(238, 238, 238); margin: 2px 0px; width: 99%; border-collapse: collapse; background-color: rgb(255, 255, 255);"&gt;
    &lt;col style="border-bottom: 1px solid rgb(247, 247, 247); font-family: courier new; font-size: 11px; padding-left: 10px; white-space: nowrap;" /&gt;
    &lt;tbody&gt;
        &lt;tr&gt;
            &lt;td&gt;&lt;span style="font-size: 11px;"&gt;&lt;/span&gt;&lt;span style="color: blue;"&gt;internal&lt;/span&gt;&lt;span style="font-size: 11px;"&gt;&amp;nbsp;ScriptManager&amp;nbsp;ScriptManager&amp;nbsp;&lt;/span&gt;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td style="background-color: rgb(247, 247, 247);"&gt;{&amp;nbsp;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: blue;"&gt;get&lt;/span&gt;&lt;span style="font-size: 11px;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td style="background-color: rgb(247, 247, 247);"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&amp;nbsp;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: blue;"&gt;if&lt;/span&gt;&lt;span style="font-size: 11px;"&gt;&amp;nbsp;(&lt;/span&gt;&lt;span style="color: blue;"&gt;this&lt;/span&gt;&lt;span style="font-size: 11px;"&gt;._scriptManager&amp;nbsp;==&amp;nbsp;&lt;/span&gt;&lt;span style="color: blue;"&gt;null&lt;/span&gt;&lt;span style="font-size: 11px;"&gt;)&amp;nbsp;&lt;/span&gt;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td style="background-color: rgb(247, 247, 247);"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&amp;nbsp;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td&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;Page&amp;nbsp;page&amp;nbsp;=&amp;nbsp;&lt;span style="color: blue;"&gt;this&lt;/span&gt;&lt;span style="font-size: 11px;"&gt;.Page;&amp;nbsp;&lt;/span&gt;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td style="background-color: rgb(247, 247, 247);"&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;&lt;span style="color: blue;"&gt;this&lt;/span&gt;&lt;span style="font-size: 11px;"&gt;._scriptManager&amp;nbsp;=&amp;nbsp;ScriptManager.GetCurrent(page);&amp;nbsp;&lt;/span&gt;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&amp;nbsp;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td style="background-color: rgb(247, 247, 247);"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: blue;"&gt;return&lt;/span&gt;&lt;span style="font-size: 11px;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: blue;"&gt;this&lt;/span&gt;&lt;span style="font-size: 11px;"&gt;._scriptManager;&amp;nbsp;&lt;/span&gt;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&amp;nbsp;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td style="background-color: rgb(247, 247, 247);"&gt;}&amp;nbsp;&lt;/td&gt;
        &lt;/tr&gt;
    &lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;/p&gt;
&lt;p&gt;During the first load of the sample page everything is fine. The ScriptManager property is properly initialized and the page runs happily. After postback the Timer control is pulled out from session state. As caching is implemented the _scriptManager field will not be null and the Timer control will try to register with an old ScriptManager. However the life cycle of the page object, to which that "old" ScriptManager belonged, has been executed during the previous request(including the PreRender event). When the Timer control tries to register with the ScriptManager we end up with the exception that the PreRender method has already been executed - and it really was during the first request to the page.&lt;/p&gt;
&lt;p&gt;Although this exception is specific to ASP.NET Ajax enabled controls you should avoid caching *any* ASP.NET controls at all costs. &lt;a href="http://blogs.msdn.com/tess/"&gt;Tess Ferrandez&lt;/a&gt; from Microsoft has a series of blog posts telling why storing UI controls is not a good idea:&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/tess/archive/2008/05/28/asp-net-memory-thou-shalt-not-store-ui-objects-in-cache-or-session-scope.aspx" title="http://blogs.msdn.com/tess/archive/2008/05/28/asp-net-memory-thou-shalt-not-store-ui-objects-in-cache-or-session-scope.aspx"&gt;http://blogs.msdn.com/tess/archive/2008/05/28/asp-net-memory-thou-shalt-not-store-ui-objects-in-cache-or-session-scope.aspx&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/tess/archive/2006/01/23/net-memory-leak-case-study-the-event-handlers-that-made-the-memory-baloon.aspx" title="http://blogs.msdn.com/tess/archive/2006/01/23/net-memory-leak-case-study-the-event-handlers-that-made-the-memory-baloon.aspx"&gt;http://blogs.msdn.com/tess/archive/2006/01/23/net-memory-leak-case-study-the-event-handlers-that-made-the-memory-baloon.aspx&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.msdn.com/tess/archive/2008/09/12/asp-net-memory-issues-high-memory-usage-with-ajaxpro.aspx" title="http://blogs.msdn.com/tess/archive/2008/09/12/asp-net-memory-issues-high-memory-usage-with-ajaxpro.aspx"&gt;http://blogs.msdn.com/tess/archive/2008/09/12/asp-net-memory-issues-high-memory-usage-with-ajaxpro.aspx&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;But if this is not a proper way of caching ASP.NET UI controls what is? Cache the data used to populate the control instead. Or use output caching. &lt;/p&gt;
&lt;p&gt;I hope this helps,&lt;/p&gt;
&lt;p&gt;Atanas&lt;/p&gt;
</description>
      <link>http://blogs.telerik.com/AtanasKorchev/Posts/08-09-19/Don_t_store_ASP_NET_controls_in_Session_Application_or_Cache.aspx</link>
      <author>Atanas Korchev</author>
      <comments>http://blogs.telerik.com/AtanasKorchev/Posts/08-09-19/Don_t_store_ASP_NET_controls_in_Session_Application_or_Cache.aspx</comments>
      <guid isPermaLink="false">0941d57e-354a-41d2-bf2d-05293620e45f</guid>
      <pubDate>Fri, 19 Sep 2008 07:36:23 GMT</pubDate>
    </item>
    <item>
      <title>Internet Explorer JavaScript Performance Tip - use the &amp;quot;children&amp;quot; property</title>
      <description>&lt;p&gt;Today I was profiling the initialization time of RadTreeView for ASP.NET Ajax and found out that the biggest bottleneck was traversing the DOM tree. The code looks something like this:&lt;/p&gt;
&lt;div style="border: 1px solid rgb(127, 157, 185); overflow: auto; background-color: white; line-height: 100% ! important; font-family: courier new; font-size: 11px;"&gt;
&lt;table cellspacing="0" cellpadding="0" style="border-width: 0px; border-bottom: 0px solid rgb(238, 238, 238); margin: 2px 0px; width: 99%; border-collapse: collapse; background-color: rgb(255, 255, 255);"&gt;
    &lt;col style="border-bottom: 1px solid rgb(247, 247, 247); font-family: courier new; font-size: 11px; padding-left: 10px; white-space: nowrap;" /&gt;
    &lt;tbody&gt;
        &lt;tr&gt;
            &lt;td&gt;&lt;span style="font-size: 11px;"&gt;&lt;/span&gt;&lt;span style="color: green;"&gt;//get_childListElement()&amp;nbsp;returns&amp;nbsp;an&amp;nbsp;HTML&amp;nbsp;element&lt;/span&gt;&lt;span style="font-size: 11px;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td style="background-color: rgb(247, 247, 247);"&gt;&lt;span style="color: blue;"&gt;var&lt;/span&gt;&lt;span style="font-size: 11px;"&gt;&amp;nbsp;childNodes&amp;nbsp;=&amp;nbsp;parent.get_childListElement().childNodes;&amp;nbsp;&lt;/span&gt;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td&gt;&lt;span style="color: blue;"&gt;for&lt;/span&gt;&lt;span style="font-size: 11px;"&gt;&amp;nbsp;(&lt;/span&gt;&lt;span style="color: blue;"&gt;var&lt;/span&gt;&lt;span style="font-size: 11px;"&gt;&amp;nbsp;i&amp;nbsp;=&amp;nbsp;0,&amp;nbsp;length&amp;nbsp;=&amp;nbsp;childNodes.length;&amp;nbsp;i&amp;nbsp;&amp;lt;&amp;nbsp;length;&amp;nbsp;i++)&amp;nbsp;&lt;/span&gt;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td style="background-color: rgb(247, 247, 247);"&gt;{&amp;nbsp;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: blue;"&gt;var&lt;/span&gt;&lt;span style="font-size: 11px;"&gt;&amp;nbsp;childNode&amp;nbsp;=&amp;nbsp;childNodes[i];&amp;nbsp;&lt;/span&gt;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td style="background-color: rgb(247, 247, 247);"&gt;&amp;nbsp;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: green;"&gt;//Perform&amp;nbsp;additional&amp;nbsp;initialization&lt;/span&gt;&lt;span style="font-size: 11px;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td style="background-color: rgb(247, 247, 247);"&gt;}&amp;nbsp;&lt;/td&gt;
        &lt;/tr&gt;
    &lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;br /&gt;
&lt;p&gt;I tested with 10000 elements and in IE7 I got about 25000ms whilst in FireFox the total time was around 33ms (Core 2 Duo @ 2.33GHz). Quite a difference if you ask me.&lt;/p&gt;
&lt;p&gt;I thought that there may be some IE specific method/property which could perform better and I dug into MSDN. And a few minutes later I found the &lt;a href="mhtml:%7B38C3F76A-7CE8-4E21-8E81-EDF32F46CE68%7Dmid://00000239/%21x-usc:http://msdn.microsoft.com/en-us/library/ms537446%28VS.85%29.aspx"&gt;children&lt;/a&gt; property!!! Apparently the &lt;strong&gt;children&lt;/strong&gt; collection contains only HTML elements (whilst &lt;strong&gt;childNodes&lt;/strong&gt; is full of TextNode elements). I changed the code like this:&lt;/p&gt;
&lt;div style="border: 1px solid rgb(127, 157, 185); overflow: auto; background-color: white; line-height: 100% ! important; font-family: courier new; font-size: 11px;"&gt;
&lt;table cellspacing="0" cellpadding="0" style="border-width: 0px; border-bottom: 0px solid rgb(238, 238, 238); margin: 2px 0px; width: 99%; border-collapse: collapse; background-color: rgb(255, 255, 255);"&gt;
    &lt;col style="border-bottom: 1px solid rgb(247, 247, 247); font-family: courier new; font-size: 11px; padding-left: 10px; white-space: nowrap;" /&gt;
    &lt;tbody&gt;
        &lt;tr&gt;
            &lt;td&gt;&lt;span style="font-size: 11px;"&gt;&lt;/span&gt;&lt;span style="color: green;"&gt;//get_childListElement()&amp;nbsp;returns&amp;nbsp;an&amp;nbsp;HTML&amp;nbsp;element&lt;/span&gt;&lt;span style="font-size: 11px;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td style="background-color: rgb(247, 247, 247);"&gt;&lt;span style="color: blue;"&gt;var&lt;/span&gt;&lt;span style="font-size: 11px;"&gt;&amp;nbsp;childNodes&amp;nbsp;=&amp;nbsp;parent.get_childListElement().children;&amp;nbsp;&lt;/span&gt;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td&gt;&lt;span style="color: blue;"&gt;for&lt;/span&gt;&lt;span style="font-size: 11px;"&gt;&amp;nbsp;(&lt;/span&gt;&lt;span style="color: blue;"&gt;var&lt;/span&gt;&lt;span style="font-size: 11px;"&gt;&amp;nbsp;i&amp;nbsp;=&amp;nbsp;0,&amp;nbsp;length&amp;nbsp;=&amp;nbsp;childNodes.length;&amp;nbsp;i&amp;nbsp;&amp;lt;&amp;nbsp;length;&amp;nbsp;i++)&amp;nbsp;&lt;/span&gt;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td style="background-color: rgb(247, 247, 247);"&gt;{&amp;nbsp;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: blue;"&gt;var&lt;/span&gt;&lt;span style="font-size: 11px;"&gt;&amp;nbsp;childNode&amp;nbsp;=&amp;nbsp;childNodes[i];&amp;nbsp;&lt;/span&gt;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td style="background-color: rgb(247, 247, 247);"&gt;&amp;nbsp;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: green;"&gt;//Perform&amp;nbsp;additional&amp;nbsp;initialization&lt;/span&gt;&lt;span style="font-size: 11px;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td style="background-color: rgb(247, 247, 247);"&gt;}&amp;nbsp;&lt;/td&gt;
        &lt;/tr&gt;
    &lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;br /&gt;
&lt;p&gt;Lo and behold the total traverse time went down to around 30ms in IE7 !!! This is what I call a performance boost :)&lt;/p&gt;
&lt;p&gt;To make it cross-browser friendly I ended up with this:&lt;/p&gt;
&lt;p&gt;
&lt;div style="border: 1px solid rgb(127, 157, 185); overflow: auto; background-color: white; line-height: 100% ! important; font-family: courier new; font-size: 11px;"&gt;
&lt;table cellspacing="0" cellpadding="0" style="border-width: 0px; border-bottom: 0px solid rgb(238, 238, 238); margin: 2px 0px; width: 99%; border-collapse: collapse; background-color: rgb(255, 255, 255);"&gt;
    &lt;col style="border-bottom: 1px solid rgb(247, 247, 247); font-family: courier new; font-size: 11px; padding-left: 10px; white-space: nowrap;" /&gt;
    &lt;tbody&gt;
        &lt;tr&gt;
            &lt;td&gt;&lt;span style="font-size: 11px;"&gt;&lt;/span&gt;&lt;span style="color: blue;"&gt;var&lt;/span&gt;&lt;span style="font-size: 11px;"&gt;&amp;nbsp;childList&amp;nbsp;=&amp;nbsp;parent.get_childListElement();&amp;nbsp;&lt;/span&gt;&lt;/td&gt;
        &lt;/tr&gt;
        &lt;tr&gt;
            &lt;td style="background-color: rgb(247, 247, 247);"&gt;&lt;span style="color: blue;"&gt;var&lt;/span&gt;&lt;span style="font-size: 11px;"&gt;&amp;nbsp;childNodes&amp;nbsp;=&amp;nbsp;childList.children&amp;nbsp;||&amp;nbsp;childList.childNodes;&amp;nbsp;&lt;/span&gt;&lt;/td&gt;
        &lt;/tr&gt;
    &lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;/p&gt;
&lt;p&gt;The bottom line is that you can expect some serious performance improvements in treeviews with lots of nodes. For example the initialization time of a fully expanded treeview with 10000 (10x10x10x10) nodes improved by 30% (3152ms vs. 2249ms). However if the total number of nodes per level is greater e.g. 10x1000 the performance boost is even bigger - 5590ms vs. 1851ms which is 66%.&lt;/p&gt;
&lt;p&gt;I have attached a sample page with tests using unordered list with 10000 list items.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://blogs.telerik.com/Libraries/Atanas%20Korchev/DomAccess%20%281%29.sflb"&gt;Source&lt;/a&gt;&lt;/p&gt;
</description>
      <link>http://blogs.telerik.com/AtanasKorchev/Posts/08-08-14/Internet_Explorer_JavaScript_Performance_Tip_-_use_the_quot_children_quot_property.aspx</link>
      <author>Atanas Korchev</author>
      <comments>http://blogs.telerik.com/AtanasKorchev/Posts/08-08-14/Internet_Explorer_JavaScript_Performance_Tip_-_use_the_quot_children_quot_property.aspx</comments>
      <guid isPermaLink="false">203a01ee-78e3-48cd-a55d-4d3e5df01713</guid>
      <pubDate>Thu, 14 Aug 2008 09:03:37 GMT</pubDate>
    </item>
    <item>
      <title>Yet another update of RadControls for ASP.NET Ajax DynamicData support</title>
      <description>&lt;p&gt;ASP.NET Dynamic Data has just gone official with the SP1 release of Visual Studio 2008 and .NET 3.5. We have just released updated version of our Dynamic Data bits which is tested against the official release and has few minor improvements (such as implementation of the DataControl property). Get it from &lt;a href="http://www.telerik.com/download/Telerik.DynamicData_2008_2_813.zip"&gt;here&lt;/a&gt;.&lt;/p&gt;
</description>
      <link>http://blogs.telerik.com/AtanasKorchev/Posts/08-08-13/Yet_another_update_of_RadControls_for_ASP_NET_Ajax_DynamicData_support.aspx</link>
      <author>Atanas Korchev</author>
      <comments>http://blogs.telerik.com/AtanasKorchev/Posts/08-08-13/Yet_another_update_of_RadControls_for_ASP_NET_Ajax_DynamicData_support.aspx</comments>
      <guid isPermaLink="false">ef6f14ab-e3cd-45ba-955c-e56c499993d5</guid>
      <pubDate>Wed, 13 Aug 2008 10:22:10 GMT</pubDate>
    </item>
    <item>
      <title>RadTreeView for ASP.NET Ajax Load On Demand Modes - why so many?</title>
      <description>&lt;p&gt;In my &lt;a href="http://blogs.telerik.com/AtanasKorchev/Posts/08-08-06/Performance_Tip_Use_Web_Service_Load_On_Demand_with_RadTreeView.aspx"&gt;previous&lt;/a&gt; blog post I told you how the &lt;a href="http://www.telerik.com/demos/aspnet/prometheus/TreeView/Examples/Programming/WebService/DefaultCS.aspx"&gt;Web Service&lt;/a&gt; load on demand mode of &lt;a href="http://www.telerik.com/products/aspnet-ajax/controls/treeview/overview.aspx"&gt;RadTreeView&lt;/a&gt; delivers the best performance. A logical question arises - why we have the other load on demand modes (&lt;a href="http://www.telerik.com/demos/aspnet/prometheus/TreeView/Examples/Programming/WebService/DefaultCS.aspx"&gt;server side postback&lt;/a&gt; and &lt;a href="http://www.telerik.com/demos/aspnet/prometheus/TreeView/Examples/Programming/ClientLoadOnDemandSql/DefaultCS.aspx"&gt;callback&lt;/a&gt;) if they do not perform on par with the Web Service mode. The answer is not that obvious. The truth is every load on demand mode has its pros and cons. The following table describes visually the load on demand modes according to three criterions - performance, templates support, ease of implementation.&lt;/p&gt;
&lt;div style="display: none;"&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;&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;&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;&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;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/div&gt;
&lt;div style="display: none;"&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;&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;&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;&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;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/div&gt;
&lt;div style="display: none;"&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;&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;&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;&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;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/div&gt;
&lt;div style="display: none;"&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;&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;&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;&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;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
&lt;/div&gt;
&lt;div style="display: none;"&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;&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;&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;&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;&amp;nbsp