<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://completit.com/communityserver/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>CompletIT Community Server</title><link>http://completit.com/communityserver/blogs/default.aspx</link><description>&lt;P&gt;&lt;A href="http://www.completit.com"&gt;www.completit.com&lt;/A&gt;&lt;/P&gt;</description><dc:language>en-US</dc:language><generator>CommunityServer 2.1 SP2 (Build: 61129.2)</generator><item><title>Animating ListBox items - the VisualStateManager</title><link>http://completit.com/communityserver/blogs/idragoev/archive/2008/06/13/animating-listbox-items-the-visualstatemanager.aspx</link><pubDate>Fri, 13 Jun 2008 13:13:00 GMT</pubDate><guid isPermaLink="false">456c5cc1-fe21-4ac2-8669-11477cec168e:4337</guid><dc:creator>idragoev</dc:creator><slash:comments>0</slash:comments><description>&lt;P&gt;Check out my &lt;A class="" href="http://www.silverlightshow.net/items/Animating-ListBox-items-the-VisualStateManager.aspx"&gt;second article on ListBox items animations&lt;/A&gt;. Here you can see how to use VisualStateManager and also some problems I faced during the migration to Silverlight 2 beta 2&lt;/P&gt;
&lt;P&gt;Enjoy!&lt;/P&gt;&lt;img src="http://completit.com/communityserver/aggbug.aspx?PostID=4337" width="1" height="1"&gt;</description><category domain="http://completit.com/communityserver/blogs/idragoev/archive/tags/Silverlight/default.aspx">Silverlight</category></item><item><title>Moving ViewState to the bottom of the page</title><link>http://completit.com/communityserver/blogs/nraychev/archive/2008/06/02/moving-viewstate-to-the-bottom-of-the-page.aspx</link><pubDate>Mon, 02 Jun 2008 13:51:00 GMT</pubDate><guid isPermaLink="false">456c5cc1-fe21-4ac2-8669-11477cec168e:3555</guid><dc:creator>nraychev</dc:creator><slash:comments>0</slash:comments><description>&lt;P&gt;We noticed that the &lt;I&gt;ViewState&lt;/I&gt; in &lt;A href="http://www.silverlightshow.net/"&gt;silverlightshow.net&lt;/A&gt; was enormous so we decided to make some improvements. The first step was to move it to the bottom of the page just for the search engine optimization. I have met many articles in internet which describe how to do this. One of them which I have used is:&lt;/P&gt;
&lt;P&gt;&lt;A href="http://www.hanselman.com/blog/MovingViewStateToTheBottomOfThePage.aspx"&gt;http://www.hanselman.com/blog/MovingViewStateToTheBottomOfThePage.aspx&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;I’ll describe the solution which worked for us:&lt;/P&gt;
&lt;P&gt;I created a class named &lt;B&gt;SLSPage&lt;/B&gt; which extends the &lt;I&gt;System.Web.UI.Page&lt;/I&gt; class and made all ASP.NET pages inherit this class instead of the &lt;I&gt;Page&lt;/I&gt; class. Here our class is:&lt;/P&gt;
&lt;DIV style="BORDER-RIGHT:black 2px solid;PADDING-RIGHT:10px;BORDER-TOP:black 2px solid;PADDING-LEFT:10px;PADDING-BOTTOM:10px;BORDER-LEFT:black 2px solid;PADDING-TOP:10px;BORDER-BOTTOM:black 2px solid;"&gt;
&lt;DIV style="MARGIN:0in 0in 10pt;"&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE:10pt;COLOR:blue;LINE-HEIGHT:115%;FONT-FAMILY:'Courier New';"&gt;using&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE:10pt;LINE-HEIGHT:115%;FONT-FAMILY:'Courier New';"&gt; System.Text.RegularExpressions; &lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE:10pt;COLOR:blue;LINE-HEIGHT:115%;FONT-FAMILY:'Courier New';"&gt;using&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE:10pt;LINE-HEIGHT:115%;FONT-FAMILY:'Courier New';"&gt; System.IO; &lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE:10pt;COLOR:blue;LINE-HEIGHT:115%;FONT-FAMILY:'Courier New';"&gt;using&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE:10pt;LINE-HEIGHT:115%;FONT-FAMILY:'Courier New';"&gt; System.Web.UI; &lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE:10pt;COLOR:blue;LINE-HEIGHT:115%;FONT-FAMILY:'Courier New';"&gt;using&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE:10pt;LINE-HEIGHT:115%;FONT-FAMILY:'Courier New';"&gt; System; &lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE:10pt;COLOR:blue;LINE-HEIGHT:115%;FONT-FAMILY:'Courier New';"&gt;using&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE:10pt;LINE-HEIGHT:115%;FONT-FAMILY:'Courier New';"&gt; System.Configuration;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE:10pt;COLOR:blue;LINE-HEIGHT:115%;FONT-FAMILY:'Courier New';"&gt;namespace&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE:10pt;LINE-HEIGHT:115%;FONT-FAMILY:'Courier New';"&gt; SilverlightShow &lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE:10pt;LINE-HEIGHT:115%;FONT-FAMILY:'Courier New';"&gt;{ &lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE:10pt;LINE-HEIGHT:115%;FONT-FAMILY:'Courier New';"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="COLOR:blue;"&gt;public&lt;/SPAN&gt; &lt;SPAN style="COLOR:blue;"&gt;class&lt;/SPAN&gt; &lt;SPAN style="COLOR:#2b91af;"&gt;SLSPage&lt;/SPAN&gt; : System.Web.UI.&lt;SPAN style="COLOR:#2b91af;"&gt;Page &lt;BR&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE:10pt;LINE-HEIGHT:115%;FONT-FAMILY:'Courier New';"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; { &lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE:10pt;COLOR:blue;LINE-HEIGHT:115%;FONT-FAMILY:'Courier New';"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; #region&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE:10pt;LINE-HEIGHT:115%;FONT-FAMILY:'Courier New';"&gt; Constants &lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE:10pt;LINE-HEIGHT:115%;FONT-FAMILY:'Courier New';"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="COLOR:blue;"&gt;private&lt;/SPAN&gt; &lt;SPAN style="COLOR:blue;"&gt;static&lt;/SPAN&gt; &lt;SPAN style="COLOR:blue;"&gt;readonly&lt;/SPAN&gt; &lt;SPAN style="COLOR:#2b91af;"&gt;Regex&lt;/SPAN&gt; viewStateRegex = &lt;SPAN style="COLOR:blue;"&gt;new&lt;/SPAN&gt; &lt;SPAN style="COLOR:#2b91af;"&gt;Regex&lt;/SPAN&gt;( &lt;SPAN style="COLOR:#a31515;"&gt;@"&amp;lt;input\s+type=""hidden""\s+name=""__VIEWSTATE""\s+id=""__VIEWSTATE""\s+value=""[^""]+""\s*/&amp;gt;"&lt;/SPAN&gt;, &lt;SPAN style="COLOR:#2b91af;"&gt;RegexOptions&lt;/SPAN&gt;.IgnoreCase | &lt;SPAN style="COLOR:#2b91af;"&gt;RegexOptions&lt;/SPAN&gt;.Multiline | &lt;SPAN style="COLOR:#2b91af;"&gt;RegexOptions&lt;/SPAN&gt;.Compiled ); &lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE:10pt;LINE-HEIGHT:115%;FONT-FAMILY:'Courier New';"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="COLOR:blue;"&gt;private&lt;/SPAN&gt; &lt;SPAN style="COLOR:blue;"&gt;static&lt;/SPAN&gt; &lt;SPAN style="COLOR:blue;"&gt;readonly&lt;/SPAN&gt; &lt;SPAN style="COLOR:#2b91af;"&gt;Regex&lt;/SPAN&gt; endFormRegex = &lt;SPAN style="COLOR:blue;"&gt;new&lt;/SPAN&gt; &lt;SPAN style="COLOR:#2b91af;"&gt;Regex&lt;/SPAN&gt;( &lt;SPAN style="COLOR:#a31515;"&gt;@"&amp;lt;/form&amp;gt;"&lt;/SPAN&gt;, &lt;SPAN style="COLOR:#2b91af;"&gt;RegexOptions&lt;/SPAN&gt;.IgnoreCase | &lt;SPAN style="COLOR:#2b91af;"&gt;RegexOptions&lt;/SPAN&gt;.Multiline | &lt;SPAN style="COLOR:#2b91af;"&gt;RegexOptions&lt;/SPAN&gt;.Compiled ); &lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE:10pt;COLOR:blue;LINE-HEIGHT:115%;FONT-FAMILY:'Courier New';"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; #endregion&lt;/SPAN&gt;&lt;/P&gt;&lt;/DIV&gt;
&lt;DIV style="MARGIN:0in 0in 10pt;"&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE:10pt;COLOR:blue;LINE-HEIGHT:115%;FONT-FAMILY:'Courier New';"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; #region&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE:10pt;LINE-HEIGHT:115%;FONT-FAMILY:'Courier New';"&gt; Handlers &lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE:10pt;LINE-HEIGHT:115%;FONT-FAMILY:'Courier New';"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="COLOR:blue;"&gt;protected&lt;/SPAN&gt; &lt;SPAN style="COLOR:blue;"&gt;override&lt;/SPAN&gt; &lt;SPAN style="COLOR:blue;"&gt;void&lt;/SPAN&gt; Render( System.Web.UI.&lt;SPAN style="COLOR:#2b91af;"&gt;HtmlTextWriter&lt;/SPAN&gt; writer ) &lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE:10pt;LINE-HEIGHT:115%;FONT-FAMILY:'Courier New';"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; { &lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE:10pt;LINE-HEIGHT:115%;FONT-FAMILY:'Courier New';"&gt;&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;string&lt;/SPAN&gt; originalHtml = &lt;SPAN style="COLOR:blue;"&gt;string&lt;/SPAN&gt;.Empty; &lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE:10pt;LINE-HEIGHT:115%;FONT-FAMILY:'Courier New';"&gt;&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;string&lt;/SPAN&gt; newHtml = &lt;SPAN style="COLOR:blue;"&gt;string&lt;/SPAN&gt;.Empty;&lt;/SPAN&gt;&lt;/P&gt;&lt;/DIV&gt;
&lt;DIV style="MARGIN:0in 0in 10pt;"&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE:10pt;LINE-HEIGHT:115%;FONT-FAMILY:'Courier New';"&gt;&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;using&lt;/SPAN&gt; ( &lt;SPAN style="COLOR:#2b91af;"&gt;StringWriter&lt;/SPAN&gt; stringWriter = &lt;SPAN style="COLOR:blue;"&gt;new&lt;/SPAN&gt; &lt;SPAN style="COLOR:#2b91af;"&gt;StringWriter&lt;/SPAN&gt;() ) &lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE:10pt;LINE-HEIGHT:115%;FONT-FAMILY:'Courier New';"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; { &lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE:10pt;LINE-HEIGHT:115%;FONT-FAMILY:'Courier New';"&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; &lt;SPAN style="COLOR:blue;"&gt;using&lt;/SPAN&gt; ( &lt;SPAN style="COLOR:#2b91af;"&gt;HtmlTextWriter&lt;/SPAN&gt; htmlWriter = &lt;SPAN style="COLOR:blue;"&gt;new&lt;/SPAN&gt; &lt;SPAN style="COLOR:#2b91af;"&gt;HtmlTextWriter&lt;/SPAN&gt;( stringWriter ) ) &lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE:10pt;LINE-HEIGHT:115%;FONT-FAMILY:'Courier New';"&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; { &lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE:10pt;LINE-HEIGHT:115%;FONT-FAMILY:'Courier New';"&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; &lt;SPAN style="COLOR:blue;"&gt;base&lt;/SPAN&gt;.Render( htmlWriter ); &lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE:10pt;LINE-HEIGHT:115%;FONT-FAMILY:'Courier New';"&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; originalHtml = stringWriter.ToString(); &lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE:10pt;LINE-HEIGHT:115%;FONT-FAMILY:'Courier New';"&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; } &lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE:10pt;LINE-HEIGHT:115%;FONT-FAMILY:'Courier New';"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/SPAN&gt;&lt;/P&gt;&lt;/DIV&gt;
&lt;DIV style="MARGIN:0in 0in 10pt;"&gt;&lt;SPAN style="FONT-SIZE:10pt;LINE-HEIGHT:115%;FONT-FAMILY:'Courier New';"&gt;&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;bool&lt;/SPAN&gt; success = &lt;SPAN style="COLOR:blue;"&gt;false&lt;/SPAN&gt;;&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV style="MARGIN:0in 0in 10pt;"&gt;&lt;SPAN style="FONT-SIZE:10pt;LINE-HEIGHT:115%;FONT-FAMILY:'Courier New';"&gt;&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:#2b91af;"&gt;Match&lt;/SPAN&gt; viewStateMatch = viewStateRegex.Match( originalHtml );&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV style="MARGIN:0in 0in 10pt;"&gt;&lt;SPAN style="FONT-SIZE:10pt;LINE-HEIGHT:115%;FONT-FAMILY:'Courier New';"&gt;&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;if&lt;/SPAN&gt; ( viewStateMatch.Success ) &lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE:10pt;LINE-HEIGHT:115%;FONT-FAMILY:'Courier New';"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; { &lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE:10pt;LINE-HEIGHT:115%;FONT-FAMILY:'Courier New';"&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; &lt;SPAN style="COLOR:blue;"&gt;string&lt;/SPAN&gt; viewStateString = viewStateMatch.Value; &lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE:10pt;LINE-HEIGHT:115%;FONT-FAMILY:'Courier New';"&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; newHtml = originalHtml.Remove( viewStateMatch.Index, viewStateMatch.Length );&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV style="MARGIN:0in 0in 10pt;"&gt;&lt;SPAN style="FONT-SIZE:10pt;LINE-HEIGHT:115%;FONT-FAMILY:'Courier New';"&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; &lt;SPAN style="COLOR:#2b91af;"&gt;Match&lt;/SPAN&gt; endFormMatch = endFormRegex.Match( newHtml, viewStateMatch.Index );&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV style="MARGIN:0in 0in 10pt;"&gt;&lt;SPAN style="FONT-SIZE:10pt;LINE-HEIGHT:115%;FONT-FAMILY:'Courier New';"&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; &lt;SPAN style="COLOR:blue;"&gt;if&lt;/SPAN&gt; ( endFormMatch.Success ) &lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE:10pt;LINE-HEIGHT:115%;FONT-FAMILY:'Courier New';"&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; { &lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE:10pt;LINE-HEIGHT:115%;FONT-FAMILY:'Courier New';"&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; newHtml = newHtml.Insert( endFormMatch.Index, viewStateString ); &lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE:10pt;LINE-HEIGHT:115%;FONT-FAMILY:'Courier New';"&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; success = &lt;SPAN style="COLOR:blue;"&gt;true&lt;/SPAN&gt;; &lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE:10pt;LINE-HEIGHT:115%;FONT-FAMILY:'Courier New';"&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; } &lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE:10pt;LINE-HEIGHT:115%;FONT-FAMILY:'Courier New';"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV style="MARGIN:0in 0in 10pt;"&gt;&lt;SPAN style="FONT-SIZE:10pt;LINE-HEIGHT:115%;FONT-FAMILY:'Courier New';"&gt;&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;if&lt;/SPAN&gt; ( success ) &lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE:10pt;LINE-HEIGHT:115%;FONT-FAMILY:'Courier New';"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; { &lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE:10pt;LINE-HEIGHT:115%;FONT-FAMILY:'Courier New';"&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; writer.Write( newHtml ); &lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE:10pt;LINE-HEIGHT:115%;FONT-FAMILY:'Courier New';"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; } &lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE:10pt;LINE-HEIGHT:115%;FONT-FAMILY:'Courier New';"&gt;&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;else &lt;BR&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE:10pt;LINE-HEIGHT:115%;FONT-FAMILY:'Courier New';"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; { &lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE:10pt;LINE-HEIGHT:115%;FONT-FAMILY:'Courier New';"&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; writer.Write( originalHtml ); &lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE:10pt;LINE-HEIGHT:115%;FONT-FAMILY:'Courier New';"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; } &lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE:10pt;LINE-HEIGHT:115%;FONT-FAMILY:'Courier New';"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; } &lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE:10pt;COLOR:blue;LINE-HEIGHT:115%;FONT-FAMILY:'Courier New';"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; #endregion &lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE:10pt;LINE-HEIGHT:115%;FONT-FAMILY:'Courier New';"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; } &lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE:10pt;LINE-HEIGHT:115%;FONT-FAMILY:'Courier New';"&gt;}&lt;/SPAN&gt;&lt;/DIV&gt;&lt;/DIV&gt;
&lt;P&gt;We have two constant, precompiled &lt;I&gt;Regex&lt;/I&gt; objects. The first matches the hidden field named &lt;B&gt;__VIEWSTATE&lt;/B&gt; and the second – the closing tag of the form. Note that our solution will work only if we have only one form – the server form, but it is common scenario in ASP.NET.&lt;/P&gt;
&lt;DIV style="BORDER-RIGHT:black 2px solid;PADDING-RIGHT:10px;BORDER-TOP:black 2px solid;PADDING-LEFT:10px;PADDING-BOTTOM:10px;BORDER-LEFT:black 2px solid;PADDING-TOP:10px;BORDER-BOTTOM:black 2px solid;"&gt;
&lt;DIV style="MARGIN:0in 0in 10pt;"&gt;
&lt;DIV style="MARGIN:0in 0in 10pt;"&gt;&lt;SPAN style="FONT-SIZE:10pt;COLOR:blue;LINE-HEIGHT:115%;FONT-FAMILY:'Courier New';"&gt;#region&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE:10pt;LINE-HEIGHT:115%;FONT-FAMILY:'Courier New';"&gt; Constants &lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE:10pt;COLOR:blue;LINE-HEIGHT:115%;FONT-FAMILY:'Courier New';"&gt;private&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE:10pt;LINE-HEIGHT:115%;FONT-FAMILY:'Courier New';"&gt; &lt;SPAN style="COLOR:blue;"&gt;static&lt;/SPAN&gt; &lt;SPAN style="COLOR:blue;"&gt;readonly&lt;/SPAN&gt; &lt;SPAN style="COLOR:#2b91af;"&gt;Regex&lt;/SPAN&gt; viewStateRegex = &lt;SPAN style="COLOR:blue;"&gt;new&lt;/SPAN&gt; &lt;SPAN style="COLOR:#2b91af;"&gt;Regex&lt;/SPAN&gt;( &lt;SPAN style="COLOR:#a31515;"&gt;@"&amp;lt;input\s+type=""hidden""\s+name=""__VIEWSTATE""\s+id=""__VIEWSTATE""\s+value=""[^""]+""\s*/&amp;gt;"&lt;/SPAN&gt;, &lt;SPAN style="COLOR:#2b91af;"&gt;RegexOptions&lt;/SPAN&gt;.IgnoreCase | &lt;SPAN style="COLOR:#2b91af;"&gt;RegexOptions&lt;/SPAN&gt;.Multiline | &lt;SPAN style="COLOR:#2b91af;"&gt;RegexOptions&lt;/SPAN&gt;.Compiled ); &lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE:10pt;COLOR:blue;LINE-HEIGHT:115%;FONT-FAMILY:'Courier New';"&gt;private&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE:10pt;LINE-HEIGHT:115%;FONT-FAMILY:'Courier New';"&gt; &lt;SPAN style="COLOR:blue;"&gt;static&lt;/SPAN&gt; &lt;SPAN style="COLOR:blue;"&gt;readonly&lt;/SPAN&gt; &lt;SPAN style="COLOR:#2b91af;"&gt;Regex&lt;/SPAN&gt; endFormRegex = &lt;SPAN style="COLOR:blue;"&gt;new&lt;/SPAN&gt; &lt;SPAN style="COLOR:#2b91af;"&gt;Regex&lt;/SPAN&gt;( &lt;SPAN style="COLOR:#a31515;"&gt;@"&amp;lt;/form&amp;gt;"&lt;/SPAN&gt;, &lt;SPAN style="COLOR:#2b91af;"&gt;RegexOptions&lt;/SPAN&gt;.IgnoreCase | &lt;SPAN style="COLOR:#2b91af;"&gt;RegexOptions&lt;/SPAN&gt;.Multiline | &lt;SPAN style="COLOR:#2b91af;"&gt;RegexOptions&lt;/SPAN&gt;.Compiled ); &lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE:10pt;COLOR:blue;LINE-HEIGHT:115%;FONT-FAMILY:'Courier New';"&gt;#endregion&lt;/SPAN&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;
&lt;P&gt;Then I override the &lt;I&gt;Render&lt;/I&gt; method where we have full control on the rendered html.&lt;/P&gt;
&lt;P&gt;In this method I declare two string variables – one for the original rendered html and one for the html in which the &lt;I&gt;ViewState&lt;/I&gt; will be at the bottom.&lt;/P&gt;
&lt;DIV style="BORDER-RIGHT:black 2px solid;PADDING-RIGHT:10px;BORDER-TOP:black 2px solid;PADDING-LEFT:10px;PADDING-BOTTOM:10px;BORDER-LEFT:black 2px solid;PADDING-TOP:10px;BORDER-BOTTOM:black 2px solid;"&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE:10pt;COLOR:blue;LINE-HEIGHT:115%;FONT-FAMILY:'Courier New';"&gt;string&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE:10pt;LINE-HEIGHT:115%;FONT-FAMILY:'Courier New';"&gt; originalHtml = &lt;SPAN style="COLOR:blue;"&gt;string&lt;/SPAN&gt;.Empty; &lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE:10pt;COLOR:blue;LINE-HEIGHT:115%;FONT-FAMILY:'Courier New';"&gt;string&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE:10pt;LINE-HEIGHT:115%;FONT-FAMILY:'Courier New';"&gt; newHtml = &lt;SPAN style="COLOR:blue;"&gt;string&lt;/SPAN&gt;.Empty;&lt;/SPAN&gt;&lt;/P&gt;&lt;/DIV&gt;
&lt;P&gt;I use the &lt;I&gt;Render&lt;/I&gt; method of the &lt;I&gt;Page&lt;/I&gt; class in order to render the html into a &lt;I&gt;HtmlTextWriter&lt;/I&gt; , named &lt;B&gt;htmlWriter&lt;/B&gt;, which wraps a &lt;I&gt;StringWriter&lt;/I&gt; named &lt;B&gt;stringWriter&lt;/B&gt;. Then I use the &lt;I&gt;ToString&lt;/I&gt; method of the &lt;I&gt;StringWriter&lt;/I&gt; in order to load the rendered html in the &lt;B&gt;originalHtml&lt;/B&gt; variable.&lt;/P&gt;
&lt;DIV style="BORDER-RIGHT:black 2px solid;PADDING-RIGHT:10px;BORDER-TOP:black 2px solid;PADDING-LEFT:10px;PADDING-BOTTOM:10px;BORDER-LEFT:black 2px solid;PADDING-TOP:10px;BORDER-BOTTOM:black 2px solid;"&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE:10pt;COLOR:blue;LINE-HEIGHT:115%;FONT-FAMILY:'Courier New';"&gt;using&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE:10pt;LINE-HEIGHT:115%;FONT-FAMILY:'Courier New';"&gt; ( &lt;SPAN style="COLOR:#2b91af;"&gt;StringWriter&lt;/SPAN&gt; stringWriter = &lt;SPAN style="COLOR:blue;"&gt;new&lt;/SPAN&gt; &lt;SPAN style="COLOR:#2b91af;"&gt;StringWriter&lt;/SPAN&gt;() ) &lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE:10pt;LINE-HEIGHT:115%;FONT-FAMILY:'Courier New';"&gt;{ &lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE:10pt;LINE-HEIGHT:115%;FONT-FAMILY:'Courier New';"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="COLOR:blue;"&gt;using&lt;/SPAN&gt; ( &lt;SPAN style="COLOR:#2b91af;"&gt;HtmlTextWriter&lt;/SPAN&gt; htmlWriter = &lt;SPAN style="COLOR:blue;"&gt;new&lt;/SPAN&gt; &lt;SPAN style="COLOR:#2b91af;"&gt;HtmlTextWriter&lt;/SPAN&gt;( stringWriter ) ) &lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE:10pt;LINE-HEIGHT:115%;FONT-FAMILY:'Courier New';"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; { &lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE:10pt;LINE-HEIGHT:115%;FONT-FAMILY:'Courier New';"&gt;&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;base&lt;/SPAN&gt;.Render( htmlWriter ); &lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE:10pt;LINE-HEIGHT:115%;FONT-FAMILY:'Courier New';"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; originalHtml = stringWriter.ToString(); &lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE:10pt;LINE-HEIGHT:115%;FONT-FAMILY:'Courier New';"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; } &lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE:10pt;LINE-HEIGHT:115%;FONT-FAMILY:'Courier New';"&gt;}&lt;/SPAN&gt;&lt;/P&gt;&lt;/DIV&gt;
&lt;P&gt;Then I declare a Boolean variable called &lt;B&gt;success&lt;/B&gt;, which by default is false:&lt;/P&gt;
&lt;DIV style="BORDER-RIGHT:black 2px solid;PADDING-RIGHT:10px;BORDER-TOP:black 2px solid;PADDING-LEFT:10px;PADDING-BOTTOM:10px;BORDER-LEFT:black 2px solid;PADDING-TOP:10px;BORDER-BOTTOM:black 2px solid;"&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE:10pt;COLOR:blue;LINE-HEIGHT:115%;FONT-FAMILY:;"&gt;bool&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE:10pt;LINE-HEIGHT:115%;FONT-FAMILY:;"&gt; success = &lt;SPAN style="COLOR:blue;"&gt;false&lt;/SPAN&gt;;&lt;/SPAN&gt;&lt;/P&gt;&lt;/DIV&gt;
&lt;P&gt;This variable will be set to true only if all operations for moving the &lt;I&gt;ViewState&lt;/I&gt; succeed. The following code moves the &lt;I&gt;ViewState&lt;/I&gt;:&lt;/P&gt;
&lt;DIV style="BORDER-RIGHT:black 2px solid;PADDING-RIGHT:10px;BORDER-TOP:black 2px solid;PADDING-LEFT:10px;PADDING-BOTTOM:10px;BORDER-LEFT:black 2px solid;PADDING-TOP:10px;BORDER-BOTTOM:black 2px solid;"&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE:10pt;COLOR:#2b91af;LINE-HEIGHT:115%;FONT-FAMILY:'Courier New';"&gt;Match&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE:10pt;LINE-HEIGHT:115%;FONT-FAMILY:'Courier New';"&gt; viewStateMatch = viewStateRegex.Match( originalHtml ); &lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE:10pt;COLOR:blue;LINE-HEIGHT:115%;FONT-FAMILY:'Courier New';"&gt;if&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE:10pt;LINE-HEIGHT:115%;FONT-FAMILY:'Courier New';"&gt; ( viewStateMatch.Success ) &lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE:10pt;LINE-HEIGHT:115%;FONT-FAMILY:'Courier New';"&gt;{ &lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE:10pt;COLOR:blue;LINE-HEIGHT:115%;FONT-FAMILY:'Courier New';"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; string&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE:10pt;LINE-HEIGHT:115%;FONT-FAMILY:'Courier New';"&gt; viewStateString = viewStateMatch.Value; &lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE:10pt;LINE-HEIGHT:115%;FONT-FAMILY:'Courier New';"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; newHtml = originalHtml.Remove( viewStateMatch.Index, viewStateMatch.Length );&lt;/SPAN&gt;&lt;/P&gt;
&lt;DIV style="MARGIN:0in 0in 10pt;"&gt;&lt;SPAN style="FONT-SIZE:10pt;LINE-HEIGHT:115%;FONT-FAMILY:'Courier New';"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="COLOR:#2b91af;"&gt;Match&lt;/SPAN&gt; endFormMatch = endFormRegex.Match( newHtml, viewStateMatch.Index ); &lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE:10pt;LINE-HEIGHT:115%;FONT-FAMILY:'Courier New';"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="COLOR:blue;"&gt;if&lt;/SPAN&gt; ( endFormMatch.Success ) &lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE:10pt;LINE-HEIGHT:115%;FONT-FAMILY:'Courier New';"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; { &lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE:10pt;LINE-HEIGHT:115%;FONT-FAMILY:'Courier New';"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; newHtml = newHtml.Insert( endFormMatch.Index, viewStateString ); &lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE:10pt;LINE-HEIGHT:115%;FONT-FAMILY:'Courier New';"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; success = &lt;SPAN style="COLOR:blue;"&gt;true&lt;/SPAN&gt;; &lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE:10pt;LINE-HEIGHT:115%;FONT-FAMILY:'Courier New';"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; } &lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE:10pt;LINE-HEIGHT:115%;FONT-FAMILY:'Courier New';"&gt;}&lt;/SPAN&gt;&lt;/DIV&gt;&lt;/DIV&gt;
&lt;P&gt;If the first match succeeds I remove the &lt;I&gt;ViewState&lt;/I&gt;, save it in a temp variable named &lt;B&gt;viewStateString&lt;/B&gt;, save the changed html in the &lt;B&gt;newHtml&lt;/B&gt; variable and continue with the second match. If the second match succeeds I insert the viewstate tag just before the closing form tag and set the success variable to true. So only if all operations succeed we can use the modified html, otherwise we will use the original. I make a check:&lt;/P&gt;
&lt;DIV style="BORDER-RIGHT:black 2px solid;PADDING-RIGHT:10px;BORDER-TOP:black 2px solid;PADDING-LEFT:10px;PADDING-BOTTOM:10px;BORDER-LEFT:black 2px solid;PADDING-TOP:10px;BORDER-BOTTOM:black 2px solid;"&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE:10pt;COLOR:blue;LINE-HEIGHT:115%;FONT-FAMILY:'Courier New';"&gt;if&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE:10pt;LINE-HEIGHT:115%;FONT-FAMILY:'Courier New';"&gt; ( success ) &lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE:10pt;LINE-HEIGHT:115%;FONT-FAMILY:'Courier New';"&gt;{ &lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE:10pt;LINE-HEIGHT:115%;FONT-FAMILY:'Courier New';"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; writer.Write( newHtml ); &lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE:10pt;LINE-HEIGHT:115%;FONT-FAMILY:'Courier New';"&gt;} &lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE:10pt;COLOR:blue;LINE-HEIGHT:115%;FONT-FAMILY:'Courier New';"&gt;else &lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE:10pt;LINE-HEIGHT:115%;FONT-FAMILY:'Courier New';"&gt;{ &lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE:10pt;LINE-HEIGHT:115%;FONT-FAMILY:'Courier New';"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; writer.Write( originalHtml ); &lt;BR&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE:10pt;LINE-HEIGHT:115%;FONT-FAMILY:'Courier New';"&gt;}&lt;/SPAN&gt;&lt;/P&gt;&lt;/DIV&gt;
&lt;P&gt;I use the &lt;I&gt;HtmlTextWriter&lt;/I&gt; named &lt;B&gt;writer&lt;/B&gt;, which we accept as a parameter of the &lt;I&gt;Render&lt;/I&gt; method. This method writes the html to the output.&lt;/P&gt;
&lt;P&gt;There are several occasions when some of the matches will not succeed and the original html must be rendered. For example when we use Ajax controls where we have partial rendering. In this situation only a part of the page html is rendered and there is no &lt;I&gt;ViewState&lt;/I&gt;.&lt;/P&gt;
&lt;P&gt;The second step was to optimize the &lt;I&gt;ViewState&lt;/I&gt; so now its size is reduced up to 95%. In fact we do not need any more to move it to the bottom because only a small part of it remained. So this solution was just temporary. But if you don’t have enough time to make optimizations you can use this solution.&lt;/P&gt;&lt;img src="http://completit.com/communityserver/aggbug.aspx?PostID=3555" width="1" height="1"&gt;</description><category domain="http://completit.com/communityserver/blogs/nraychev/archive/tags/ASP.NET/default.aspx">ASP.NET</category><category domain="http://completit.com/communityserver/blogs/nraychev/archive/tags/SilverlightShow.net/default.aspx">SilverlightShow.net</category><category domain="http://completit.com/communityserver/blogs/nraychev/archive/tags/ViewState+Optimization/default.aspx">ViewState Optimization</category><category domain="http://completit.com/communityserver/blogs/nraychev/archive/tags/SEO/default.aspx">SEO</category><category domain="http://completit.com/communityserver/blogs/nraychev/archive/tags/ViewState/default.aspx">ViewState</category></item><item><title>Using the HyperlinkButton control in Silverlight 2 Beta 1</title><link>http://completit.com/communityserver/blogs/nraychev/archive/2008/05/30/using-the-hyperlinkbutton-control-in-silverlight-2-beta-1.aspx</link><pubDate>Fri, 30 May 2008 14:13:00 GMT</pubDate><guid isPermaLink="false">456c5cc1-fe21-4ac2-8669-11477cec168e:3382</guid><dc:creator>nraychev</dc:creator><slash:comments>0</slash:comments><description>&lt;P&gt;I published an article about the &lt;EM&gt;HyperlinkButton&lt;/EM&gt;, which you can see here: &lt;/P&gt;
&lt;P&gt;&lt;A href="http://www.silverlightshow.net/items/Using-the-HyperlinkButton-control-in-Silverlight-2-Beta-1.aspx"&gt;HyperlinkButton in Silverlight 2 beta 1&lt;/A&gt;&lt;/P&gt;&lt;img src="http://completit.com/communityserver/aggbug.aspx?PostID=3382" width="1" height="1"&gt;</description><category domain="http://completit.com/communityserver/blogs/nraychev/archive/tags/SilverlightShow.net/default.aspx">SilverlightShow.net</category><category domain="http://completit.com/communityserver/blogs/nraychev/archive/tags/Silverlight/default.aspx">Silverlight</category><category domain="http://completit.com/communityserver/blogs/nraychev/archive/tags/Silverlight+Controls/default.aspx">Silverlight Controls</category><category domain="http://completit.com/communityserver/blogs/nraychev/archive/tags/Silverlight+Button+Controls/default.aspx">Silverlight Button Controls</category><category domain="http://completit.com/communityserver/blogs/nraychev/archive/tags/HyperlinkButton/default.aspx">HyperlinkButton</category></item><item><title>Articles about Button controls in general and the Button control in Silverlight 2 Beta 1</title><link>http://completit.com/communityserver/blogs/nraychev/archive/2008/05/12/articles-about-button-controls-in-general-and-the-button-control-in-silverlight-2-beta-1.aspx</link><pubDate>Mon, 12 May 2008 08:15:00 GMT</pubDate><guid isPermaLink="false">456c5cc1-fe21-4ac2-8669-11477cec168e:3249</guid><dc:creator>nraychev</dc:creator><slash:comments>0</slash:comments><description>&lt;P&gt;I published two new articles about &lt;EM&gt;Silverlight&lt;/EM&gt; controls today:&lt;/P&gt;
&lt;P&gt;The first covers the key features of the &lt;EM&gt;ButtonBase&lt;/EM&gt; class, inherited in all button controls, you can see it here: &lt;A href="http://www.silverlightshow.net/items/Button-Controls-in-Silverlight-2-Beta-1.aspx"&gt;Button Controls&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;The second one is dedicated to the &lt;EM&gt;Button&lt;/EM&gt; control. Visit it here: &lt;A href="http://www.silverlightshow.net/items/Using-the-Button-control-in-Silverlight-2-Beta-1.aspx"&gt;Button Control&lt;/A&gt;&lt;/P&gt;&lt;img src="http://completit.com/communityserver/aggbug.aspx?PostID=3249" width="1" height="1"&gt;</description><category domain="http://completit.com/communityserver/blogs/nraychev/archive/tags/SilverlightShow.net/default.aspx">SilverlightShow.net</category><category domain="http://completit.com/communityserver/blogs/nraychev/archive/tags/Silverlight/default.aspx">Silverlight</category><category domain="http://completit.com/communityserver/blogs/nraychev/archive/tags/Silverlight+Controls/default.aspx">Silverlight Controls</category><category domain="http://completit.com/communityserver/blogs/nraychev/archive/tags/Silverlight+Button+Controls/default.aspx">Silverlight Button Controls</category><category domain="http://completit.com/communityserver/blogs/nraychev/archive/tags/Button/default.aspx">Button</category><category domain="http://completit.com/communityserver/blogs/nraychev/archive/tags/ButtonBase/default.aspx">ButtonBase</category></item><item><title>Using the Border control in Silverlight 2 Beta 1</title><link>http://completit.com/communityserver/blogs/nraychev/archive/2008/05/08/using-the-border-control-in-silverlight-2-beta-1.aspx</link><pubDate>Thu, 08 May 2008 12:04:00 GMT</pubDate><guid isPermaLink="false">456c5cc1-fe21-4ac2-8669-11477cec168e:3229</guid><dc:creator>nraychev</dc:creator><slash:comments>0</slash:comments><description>&lt;P&gt;I completely forgot to mention my article about the &lt;EM&gt;Border&lt;/EM&gt; control in &lt;EM&gt;Silverlight&lt;/EM&gt; which I published a few weeks ago.&lt;/P&gt;
&lt;P&gt;Here it is:&lt;/P&gt;
&lt;P&gt;&lt;A title=http://www.silverlightshow.net/items/Using-the-Border-control-in-Silverlight-2-Beta-1-.aspx href="http://www.silverlightshow.net/items/Using-the-Border-control-in-Silverlight-2-Beta-1-.aspx"&gt;Using the Border control in Silverlight 2 Beta 1&lt;/A&gt;&lt;/P&gt;&lt;img src="http://completit.com/communityserver/aggbug.aspx?PostID=3229" width="1" height="1"&gt;</description><category domain="http://completit.com/communityserver/blogs/nraychev/archive/tags/SilverlightShow.net/default.aspx">SilverlightShow.net</category><category domain="http://completit.com/communityserver/blogs/nraychev/archive/tags/Silverlight/default.aspx">Silverlight</category><category domain="http://completit.com/communityserver/blogs/nraychev/archive/tags/Silverlight+Controls/default.aspx">Silverlight Controls</category><category domain="http://completit.com/communityserver/blogs/nraychev/archive/tags/Border/default.aspx">Border</category></item><item><title>SiteMap and URL Rewriting in ASP.NET 2.0</title><link>http://completit.com/communityserver/blogs/nraychev/archive/2008/04/23/sitemap-and-url-rewriting-in-asp-net-2-0.aspx</link><pubDate>Wed, 23 Apr 2008 09:04:00 GMT</pubDate><guid isPermaLink="false">456c5cc1-fe21-4ac2-8669-11477cec168e:3112</guid><dc:creator>nraychev</dc:creator><slash:comments>0</slash:comments><description>&lt;P&gt;&lt;B&gt;Introduction&lt;/B&gt;&lt;/P&gt;
&lt;P&gt;A common scenario in web development is when one page shows different content depending on some query parameters. OK, but these query parameters do not look friendly to the user and are neither friendly for the search engines. Here the URL Rewriting comes. We have URL rewriting in &lt;A href="http://www.silverlightshow.net/"&gt;SilverlightShow.net&lt;/A&gt; sitemap page. Look for example here:&lt;/P&gt;
&lt;P&gt;&lt;A href="http://www.silverlightshow.net/Sitemap-Articles.aspx"&gt;http://www.silverlightshow.net/Sitemap-Articles.aspx&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;You see that the articles are organized in pages and when clicking on “&lt;I&gt;Older Articles&lt;/I&gt;” or “&lt;I&gt;Newer Articles&lt;/I&gt;” the page is changed and the URL looks slightly different. Only the number at the end of the page name is different, for example “&lt;I&gt;Sitemap-Articles-1.aspx&lt;/I&gt;” or “&lt;I&gt;Sitemap-Articles-2.aspx&lt;/I&gt;”.&lt;/P&gt;
&lt;P&gt;&lt;B&gt;The problem&lt;/B&gt;&lt;/P&gt;
&lt;P&gt;It’s needless to say that all these different URLs are processed by a single ASP.NET page. The problem came when we decided to put an ASP.NET &lt;I&gt;SiteMapPath&lt;/I&gt; control. By default it automatically binds using the information provided in the &lt;I&gt;Web.sitemap&lt;/I&gt; file. OK, we have the following &lt;I&gt;SiteMap&lt;/I&gt; structure:&lt;/P&gt;
&lt;DIV style="BORDER-RIGHT:black 2px solid;PADDING-RIGHT:10px;BORDER-TOP:black 2px solid;PADDING-LEFT:10px;PADDING-BOTTOM:10px;BORDER-LEFT:black 2px solid;PADDING-TOP:10px;BORDER-BOTTOM:black 2px solid;"&gt;
&lt;DIV style="MARGIN:0in 0in 5pt;"&gt;&lt;SPAN style="FONT-SIZE:10pt;COLOR:blue;LINE-HEIGHT:115%;FONT-FAMILY:'Courier New';"&gt;&amp;lt;?&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE:10pt;COLOR:#a31515;LINE-HEIGHT:115%;FONT-FAMILY:'Courier New';"&gt;xml&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE:10pt;COLOR:red;LINE-HEIGHT:115%;FONT-FAMILY:'Courier New';"&gt;version&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE:10pt;COLOR:blue;LINE-HEIGHT:115%;FONT-FAMILY:'Courier New';"&gt;=&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE:10pt;LINE-HEIGHT:115%;FONT-FAMILY:'Courier New';"&gt;"&lt;SPAN style="COLOR:blue;"&gt;1.0&lt;/SPAN&gt;"&lt;SPAN style="COLOR:red;"&gt;encoding&lt;/SPAN&gt;&lt;SPAN style="COLOR:blue;"&gt;=&lt;/SPAN&gt;"&lt;SPAN style="COLOR:blue;"&gt;utf-8&lt;/SPAN&gt;"&lt;SPAN style="COLOR:blue;"&gt; ?&amp;gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV style="MARGIN:0in 0in 5pt;"&gt;&lt;SPAN style="FONT-SIZE:10pt;COLOR:blue;LINE-HEIGHT:115%;FONT-FAMILY:'Courier New';"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE:10pt;COLOR:#a31515;LINE-HEIGHT:115%;FONT-FAMILY:'Courier New';"&gt;siteMap&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE:10pt;COLOR:red;LINE-HEIGHT:115%;FONT-FAMILY:'Courier New';"&gt;xmlns&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE:10pt;COLOR:blue;LINE-HEIGHT:115%;FONT-FAMILY:'Courier New';"&gt;=&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE:10pt;LINE-HEIGHT:115%;FONT-FAMILY:'Courier New';"&gt;"&lt;SPAN style="COLOR:blue;"&gt;http://schemas.microsoft.com/AspNet/SiteMap-File-1.0&lt;/SPAN&gt;"&lt;SPAN style="COLOR:blue;"&gt; &amp;gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV style="MARGIN:0in 0in 5pt;"&gt;&lt;SPAN style="FONT-SIZE:10pt;COLOR:blue;LINE-HEIGHT:115%;FONT-FAMILY:'Courier New';"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE:10pt;COLOR:#a31515;LINE-HEIGHT:115%;FONT-FAMILY:'Courier New';"&gt;siteMapNode&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE:10pt;COLOR:red;LINE-HEIGHT:115%;FONT-FAMILY:'Courier New';"&gt;url&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE:10pt;COLOR:blue;LINE-HEIGHT:115%;FONT-FAMILY:'Courier New';"&gt;=&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE:10pt;LINE-HEIGHT:115%;FONT-FAMILY:'Courier New';"&gt;"&lt;SPAN style="COLOR:blue;"&gt;~/Default.aspx&lt;/SPAN&gt;"&lt;SPAN style="COLOR:red;"&gt;title&lt;/SPAN&gt;&lt;SPAN style="COLOR:blue;"&gt;=&lt;/SPAN&gt;"&lt;SPAN style="COLOR:blue;"&gt;Home&lt;/SPAN&gt;"&lt;SPAN style="COLOR:blue;"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="COLOR:red;"&gt;description&lt;/SPAN&gt;&lt;SPAN style="COLOR:blue;"&gt;=&lt;/SPAN&gt;"&lt;SPAN style="COLOR:blue;"&gt;Home&lt;/SPAN&gt;"&lt;SPAN style="COLOR:blue;"&gt;&amp;gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV style="MARGIN:0in 0in 5pt;"&gt;&lt;SPAN style="FONT-SIZE:10pt;COLOR:blue;LINE-HEIGHT:115%;FONT-FAMILY:'Courier New';"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE:10pt;COLOR:#a31515;LINE-HEIGHT:115%;FONT-FAMILY:'Courier New';"&gt;siteMapNode&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE:10pt;COLOR:red;LINE-HEIGHT:115%;FONT-FAMILY:'Courier New';"&gt;url&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE:10pt;COLOR:blue;LINE-HEIGHT:115%;FONT-FAMILY:'Courier New';"&gt;=&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE:10pt;LINE-HEIGHT:115%;FONT-FAMILY:'Courier New';"&gt;"&lt;SPAN style="COLOR:blue;"&gt;~/Sitemap.aspx&lt;/SPAN&gt;"&lt;SPAN style="COLOR:red;"&gt;title&lt;/SPAN&gt;&lt;SPAN style="COLOR:blue;"&gt;=&lt;/SPAN&gt;"&lt;SPAN style="COLOR:blue;"&gt;Sitemap&lt;/SPAN&gt;"&lt;SPAN style="COLOR:red;"&gt;description&lt;/SPAN&gt;&lt;SPAN style="COLOR:blue;"&gt;=&lt;/SPAN&gt;"&lt;SPAN style="COLOR:blue;"&gt;Sitemap&lt;/SPAN&gt;"&lt;SPAN style="COLOR:blue;"&gt;&amp;gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV style="MARGIN:0in 0in 5pt;"&gt;&lt;SPAN style="FONT-SIZE:10pt;COLOR:blue;LINE-HEIGHT:115%;FONT-FAMILY:'Courier New';"&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;lt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE:10pt;COLOR:#a31515;LINE-HEIGHT:115%;FONT-FAMILY:'Courier New';"&gt;siteMapNode&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE:10pt;COLOR:red;LINE-HEIGHT:115%;FONT-FAMILY:'Courier New';"&gt;url&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE:10pt;COLOR:blue;LINE-HEIGHT:115%;FONT-FAMILY:'Courier New';"&gt;=&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE:10pt;LINE-HEIGHT:115%;FONT-FAMILY:'Courier New';"&gt;"&lt;SPAN style="COLOR:blue;"&gt;~/Sitemap-News.aspx&lt;/SPAN&gt;"&lt;SPAN style="COLOR:red;"&gt;title&lt;/SPAN&gt;&lt;SPAN style="COLOR:blue;"&gt;=&lt;/SPAN&gt;"&lt;SPAN style="COLOR:blue;"&gt;News&lt;/SPAN&gt;"&lt;SPAN style="COLOR:red;"&gt;description&lt;/SPAN&gt;&lt;SPAN style="COLOR:blue;"&gt;=&lt;/SPAN&gt;"&lt;SPAN style="COLOR:blue;"&gt;News&lt;/SPAN&gt;"&lt;SPAN style="COLOR:blue;"&gt;&amp;gt;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN style="COLOR:#a31515;"&gt;siteMapNode&lt;/SPAN&gt;&lt;SPAN style="COLOR:blue;"&gt;&amp;gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV style="MARGIN:0in 0in 5pt;"&gt;&lt;SPAN style="FONT-SIZE:10pt;COLOR:blue;LINE-HEIGHT:115%;FONT-FAMILY:'Courier New';"&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;lt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE:10pt;COLOR:#a31515;LINE-HEIGHT:115%;FONT-FAMILY:'Courier New';"&gt;siteMapNode&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE:10pt;COLOR:red;LINE-HEIGHT:115%;FONT-FAMILY:'Courier New';"&gt;url&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE:10pt;COLOR:blue;LINE-HEIGHT:115%;FONT-FAMILY:'Courier New';"&gt;=&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE:10pt;LINE-HEIGHT:115%;FONT-FAMILY:'Courier New';"&gt;"&lt;SPAN style="COLOR:blue;"&gt;~/Sitemap-Articles.aspx&lt;/SPAN&gt;"&lt;SPAN style="COLOR:red;"&gt;title&lt;/SPAN&gt;&lt;SPAN style="COLOR:blue;"&gt;=&lt;/SPAN&gt;"&lt;SPAN style="COLOR:blue;"&gt;Articles&lt;/SPAN&gt;"&lt;SPAN style="COLOR:blue;"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="COLOR:red;"&gt;description&lt;/SPAN&gt;&lt;SPAN style="COLOR:blue;"&gt;=&lt;/SPAN&gt;"&lt;SPAN style="COLOR:blue;"&gt;Articles&lt;/SPAN&gt;"&lt;SPAN style="COLOR:blue;"&gt;&amp;gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV style="MARGIN:0in 0in 5pt;"&gt;&lt;SPAN style="FONT-SIZE:10pt;COLOR:blue;LINE-HEIGHT:115%;FONT-FAMILY:'Courier New';"&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;lt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE:10pt;COLOR:#a31515;LINE-HEIGHT:115%;FONT-FAMILY:'Courier New';"&gt;siteMapNode&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE:10pt;COLOR:red;LINE-HEIGHT:115%;FONT-FAMILY:'Courier New';"&gt;url&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE:10pt;COLOR:blue;LINE-HEIGHT:115%;FONT-FAMILY:'Courier New';"&gt;=&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE:10pt;LINE-HEIGHT:115%;FONT-FAMILY:'Courier New';"&gt;"&lt;SPAN style="COLOR:blue;"&gt;~/Sitemap-Announcements.aspx&lt;/SPAN&gt;"&lt;SPAN style="COLOR:red;"&gt;title&lt;/SPAN&gt;&lt;SPAN style="COLOR:blue;"&gt;=&lt;/SPAN&gt;"&lt;SPAN style="COLOR:blue;"&gt;Announcements&lt;/SPAN&gt;"&lt;SPAN style="COLOR:red;"&gt;description&lt;/SPAN&gt;&lt;SPAN style="COLOR:blue;"&gt;=&lt;/SPAN&gt;"&lt;SPAN style="COLOR:blue;"&gt;Announcements&lt;/SPAN&gt;"&lt;SPAN style="COLOR:blue;"&gt;&amp;gt;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN style="COLOR:#a31515;"&gt;siteMapNode&lt;/SPAN&gt;&lt;SPAN style="COLOR:blue;"&gt;&amp;gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV style="MARGIN:0in 0in 5pt;"&gt;&lt;SPAN style="FONT-SIZE:10pt;COLOR:blue;LINE-HEIGHT:115%;FONT-FAMILY:'Courier New';"&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;lt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE:10pt;COLOR:#a31515;LINE-HEIGHT:115%;FONT-FAMILY:'Courier New';"&gt;siteMapNode&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE:10pt;COLOR:red;LINE-HEIGHT:115%;FONT-FAMILY:'Courier New';"&gt;url&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE:10pt;COLOR:blue;LINE-HEIGHT:115%;FONT-FAMILY:'Courier New';"&gt;=&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE:10pt;LINE-HEIGHT:115%;FONT-FAMILY:'Courier New';"&gt;"&lt;SPAN style="COLOR:blue;"&gt;~/Sitemap-Products.aspx&lt;/SPAN&gt;"&lt;SPAN style="COLOR:red;"&gt;title&lt;/SPAN&gt;&lt;SPAN style="COLOR:blue;"&gt;=&lt;/SPAN&gt;"&lt;SPAN style="COLOR:blue;"&gt;Products&lt;/SPAN&gt;"&lt;SPAN style="COLOR:red;"&gt;description&lt;/SPAN&gt;&lt;SPAN style="COLOR:blue;"&gt;=&lt;/SPAN&gt;"&lt;SPAN style="COLOR:blue;"&gt;Products&lt;/SPAN&gt;"&lt;SPAN style="COLOR:blue;"&gt;&amp;gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV style="MARGIN:0in 0in 5pt;"&gt;&lt;SPAN style="FONT-SIZE:10pt;COLOR:blue;LINE-HEIGHT:115%;FONT-FAMILY:'Courier New';"&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;lt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE:10pt;COLOR:#a31515;LINE-HEIGHT:115%;FONT-FAMILY:'Courier New';"&gt;siteMapNode&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE:10pt;COLOR:red;LINE-HEIGHT:115%;FONT-FAMILY:'Courier New';"&gt;url&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE:10pt;COLOR:blue;LINE-HEIGHT:115%;FONT-FAMILY:'Courier New';"&gt;=&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE:10pt;LINE-HEIGHT:115%;FONT-FAMILY:'Courier New';"&gt;"&lt;SPAN style="COLOR:blue;"&gt;~/Sitemap-Controls.aspx&lt;/SPAN&gt;"&lt;SPAN style="COLOR:red;"&gt;title&lt;/SPAN&gt;&lt;SPAN style="COLOR:blue;"&gt;=&lt;/SPAN&gt;"&lt;SPAN style="COLOR:blue;"&gt;Controls&lt;/SPAN&gt;"&lt;SPAN style="COLOR:red;"&gt;description&lt;/SPAN&gt;&lt;SPAN style="COLOR:blue;"&gt;=&lt;/SPAN&gt;"&lt;SPAN style="COLOR:blue;"&gt;Controls&lt;/SPAN&gt;"&lt;SPAN style="COLOR:blue;"&gt;&amp;gt;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN style="COLOR:#a31515;"&gt;siteMapNode&lt;/SPAN&gt;&lt;SPAN style="COLOR:blue;"&gt;&amp;gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV style="MARGIN:0in 0in 5pt;"&gt;&lt;SPAN style="FONT-SIZE:10pt;COLOR:blue;LINE-HEIGHT:115%;FONT-FAMILY:'Courier New';"&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;lt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE:10pt;COLOR:#a31515;LINE-HEIGHT:115%;FONT-FAMILY:'Courier New';"&gt;siteMapNode&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE:10pt;COLOR:red;LINE-HEIGHT:115%;FONT-FAMILY:'Courier New';"&gt;url&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE:10pt;COLOR:blue;LINE-HEIGHT:115%;FONT-FAMILY:'Courier New';"&gt;=&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE:10pt;LINE-HEIGHT:115%;FONT-FAMILY:'Courier New';"&gt;"&lt;SPAN style="COLOR:blue;"&gt;~/Sitemap-MediaPlayers.aspx&lt;/SPAN&gt;"&lt;SPAN style="COLOR:red;"&gt;title&lt;/SPAN&gt;&lt;SPAN style="COLOR:blue;"&gt;=&lt;/SPAN&gt;"&lt;SPAN style="COLOR:blue;"&gt;Media Players&lt;/SPAN&gt;"&lt;SPAN style="COLOR:red;"&gt;description&lt;/SPAN&gt;&lt;SPAN style="COLOR:blue;"&gt;=&lt;/SPAN&gt;"&lt;SPAN style="COLOR:blue;"&gt;Media Players&lt;/SPAN&gt;"&lt;SPAN style="COLOR:blue;"&gt;&amp;gt;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN style="COLOR:#a31515;"&gt;siteMapNode&lt;/SPAN&gt;&lt;SPAN style="COLOR:blue;"&gt;&amp;gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV style="MARGIN:0in 0in 5pt;"&gt;&lt;SPAN style="FONT-SIZE:10pt;COLOR:blue;LINE-HEIGHT:115%;FONT-FAMILY:'Courier New';"&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;lt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE:10pt;COLOR:#a31515;LINE-HEIGHT:115%;FONT-FAMILY:'Courier New';"&gt;siteMapNode&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE:10pt;COLOR:red;LINE-HEIGHT:115%;FONT-FAMILY:'Courier New';"&gt;url&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE:10pt;COLOR:blue;LINE-HEIGHT:115%;FONT-FAMILY:'Courier New';"&gt;=&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE:10pt;LINE-HEIGHT:115%;FONT-FAMILY:'Courier New';"&gt;"&lt;SPAN style="COLOR:blue;"&gt;~/Sitemap-Games.aspx&lt;/SPAN&gt;"&lt;SPAN style="COLOR:red;"&gt;title&lt;/SPAN&gt;&lt;SPAN style="COLOR:blue;"&gt;=&lt;/SPAN&gt;"&lt;SPAN style="COLOR:blue;"&gt;Games&lt;/SPAN&gt;"&lt;SPAN style="COLOR:red;"&gt;description&lt;/SPAN&gt;&lt;SPAN style="COLOR:blue;"&gt;=&lt;/SPAN&gt;"&lt;SPAN style="COLOR:blue;"&gt;Games&lt;/SPAN&gt;"&lt;SPAN style="COLOR:blue;"&gt;&amp;gt;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN style="COLOR:#a31515;"&gt;siteMapNode&lt;/SPAN&gt;&lt;SPAN style="COLOR:blue;"&gt;&amp;gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV style="MARGIN:0in 0in 5pt;"&gt;&lt;SPAN style="FONT-SIZE:10pt;COLOR:blue;LINE-HEIGHT:115%;FONT-FAMILY:'Courier New';"&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;lt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE:10pt;COLOR:#a31515;LINE-HEIGHT:115%;FONT-FAMILY:'Courier New';"&gt;siteMapNode&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE:10pt;COLOR:red;LINE-HEIGHT:115%;FONT-FAMILY:'Courier New';"&gt;url&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE:10pt;COLOR:blue;LINE-HEIGHT:115%;FONT-FAMILY:'Courier New';"&gt;=&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE:10pt;LINE-HEIGHT:115%;FONT-FAMILY:'Courier New';"&gt;"&lt;SPAN style="COLOR:blue;"&gt;~/Sitemap-Charts.aspx&lt;/SPAN&gt;"&lt;SPAN style="COLOR:red;"&gt;title&lt;/SPAN&gt;&lt;SPAN style="COLOR:blue;"&gt;=&lt;/SPAN&gt;"&lt;SPAN style="COLOR:blue;"&gt;Charts&lt;/SPAN&gt;"&lt;SPAN style="COLOR:red;"&gt;description&lt;/SPAN&gt;&lt;SPAN style="COLOR:blue;"&gt;=&lt;/SPAN&gt;"&lt;SPAN style="COLOR:blue;"&gt;Charts&lt;/SPAN&gt;"&lt;SPAN style="COLOR:blue;"&gt;&amp;gt;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN style="COLOR:#a31515;"&gt;siteMapNode&lt;/SPAN&gt;&lt;SPAN style="COLOR:blue;"&gt;&amp;gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV style="MARGIN:0in 0in 5pt;"&gt;&lt;SPAN style="FONT-SIZE:10pt;COLOR:blue;LINE-HEIGHT:115%;FONT-FAMILY:'Courier New';"&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;lt;/&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE:10pt;COLOR:#a31515;LINE-HEIGHT:115%;FONT-FAMILY:'Courier New';"&gt;siteMapNode&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE:10pt;COLOR:blue;LINE-HEIGHT:115%;FONT-FAMILY:'Courier New';"&gt;&amp;gt;&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV style="MARGIN:0in 0in 5pt;"&gt;&lt;SPAN style="FONT-SIZE:10pt;COLOR:blue;LINE-HEIGHT:115%;FONT-FAMILY:'Courier New';"&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;lt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE:10pt;COLOR:#a31515;LINE-HEIGHT:115%;FONT-FAMILY:'Courier New';"&gt;siteMapNode&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE:10pt;COLOR:red;LINE-HEIGHT:115%;FONT-FAMILY:'Courier New';"&gt;url&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE:10pt;COLOR:blue;LINE-HEIGHT:115%;FONT-FAMILY:'Courier New';"&gt;=&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE:10pt;LINE-HEIGHT:115%;FONT-FAMILY:'Courier New';"&gt;"&lt;SPAN style="COLOR:blue;"&gt;~/Sitemap-Tools.aspx&lt;/SPAN&gt;"&lt;SPAN style="COLOR:red;"&gt;title&lt;/SPAN&gt;&lt;SPAN style="COLOR:blue;"&gt;=&lt;/SPAN&gt;"&lt;SPAN style="COLOR:blue;"&gt;Tools&lt;/SPAN&gt;"&lt;SPAN style="COLOR:red;"&gt;description&lt;/SPAN&gt;&lt;SPAN style="COLOR:blue;"&gt;=&lt;/SPAN&gt;"&lt;SPAN style="COLOR:blue;"&gt;Tools&lt;/SPAN&gt;"&lt;SPAN style="COLOR:blue;"&gt;&amp;gt;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN style="COLOR:#a31515;"&gt;siteMapNode&lt;/SPAN&gt;&lt;SPAN style="COLOR:blue;"&gt;&amp;gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV style="MARGIN:0in 0in 5pt;"&gt;&lt;SPAN style="FONT-SIZE:10pt;COLOR:blue;LINE-HEIGHT:115%;FONT-FAMILY:'Courier New';"&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;lt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE:10pt;COLOR:#a31515;LINE-HEIGHT:115%;FONT-FAMILY:'Courier New';"&gt;siteMapNode&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE:10pt;COLOR:red;LINE-HEIGHT:115%;FONT-FAMILY:'Courier New';"&gt;url&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE:10pt;COLOR:blue;LINE-HEIGHT:115%;FONT-FAMILY:'Courier New';"&gt;=&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE:10pt;LINE-HEIGHT:115%;FONT-FAMILY:'Courier New';"&gt;"&lt;SPAN style="COLOR:blue;"&gt;~/Sitemap-Moonlight.aspx&lt;/SPAN&gt;"&lt;SPAN style="COLOR:red;"&gt;title&lt;/SPAN&gt;&lt;SPAN style="COLOR:blue;"&gt;=&lt;/SPAN&gt;"&lt;SPAN style="COLOR:blue;"&gt;Moonlight&lt;/SPAN&gt;"&lt;SPAN style="COLOR:red;"&gt;description&lt;/SPAN&gt;&lt;SPAN style="COLOR:blue;"&gt;=&lt;/SPAN&gt;"&lt;SPAN style="COLOR:blue;"&gt;Moonlight&lt;/SPAN&gt;"&lt;SPAN style="COLOR:blue;"&gt;&amp;gt;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN style="COLOR:#a31515;"&gt;siteMapNode&lt;/SPAN&gt;&lt;SPAN style="COLOR:blue;"&gt;&amp;gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV style="MARGIN:0in 0in 5pt;"&gt;&lt;SPAN style="FONT-SIZE:10pt;COLOR:blue;LINE-HEIGHT:115%;FONT-FAMILY:'Courier New';"&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;lt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE:10pt;COLOR:#a31515;LINE-HEIGHT:115%;FONT-FAMILY:'Courier New';"&gt;siteMapNode&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE:10pt;COLOR:red;LINE-HEIGHT:115%;FONT-FAMILY:'Courier New';"&gt;url&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE:10pt;COLOR:blue;LINE-HEIGHT:115%;FONT-FAMILY:'Courier New';"&gt;=&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE:10pt;LINE-HEIGHT:115%;FONT-FAMILY:'Courier New';"&gt;"&lt;SPAN style="COLOR:blue;"&gt;~/Sitemap-Demos.aspx&lt;/SPAN&gt;"&lt;SPAN style="COLOR:red;"&gt;title&lt;/SPAN&gt;&lt;SPAN style="COLOR:blue;"&gt;=&lt;/SPAN&gt;"&lt;SPAN style="COLOR:blue;"&gt;Demos&lt;/SPAN&gt;"&lt;SPAN style="COLOR:red;"&gt;description&lt;/SPAN&gt;&lt;SPAN style="COLOR:blue;"&gt;=&lt;/SPAN&gt;"&lt;SPAN style="COLOR:blue;"&gt;Demos&lt;/SPAN&gt;"&lt;SPAN style="COLOR:blue;"&gt;&amp;gt;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN style="COLOR:#a31515;"&gt;siteMapNode&lt;/SPAN&gt;&lt;SPAN style="COLOR:blue;"&gt;&amp;gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV style="MARGIN:0in 0in 5pt;"&gt;&lt;SPAN style="FONT-SIZE:10pt;COLOR:blue;LINE-HEIGHT:115%;FONT-FAMILY:'Courier New';"&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;lt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE:10pt;COLOR:#a31515;LINE-HEIGHT:115%;FONT-FAMILY:'Courier New';"&gt;siteMapNode&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE:10pt;COLOR:red;LINE-HEIGHT:115%;FONT-FAMILY:'Courier New';"&gt;url&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE:10pt;COLOR:blue;LINE-HEIGHT:115%;FONT-FAMILY:'Courier New';"&gt;=&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE:10pt;LINE-HEIGHT:115%;FONT-FAMILY:'Courier New';"&gt;"&lt;SPAN style="COLOR:blue;"&gt;~/Sitemap-Learn.aspx&lt;/SPAN&gt;"&lt;SPAN style="COLOR:red;"&gt;title&lt;/SPAN&gt;&lt;SPAN style="COLOR:blue;"&gt;=&lt;/SPAN&gt;"&lt;SPAN style="COLOR:blue;"&gt;Learn&lt;/SPAN&gt;"&lt;SPAN style="COLOR:red;"&gt;description&lt;/SPAN&gt;&lt;SPAN style="COLOR:blue;"&gt;=&lt;/SPAN&gt;"&lt;SPAN style="COLOR:blue;"&gt;Learn&lt;/SPAN&gt;"&lt;SPAN style="COLOR:blue;"&gt;&amp;gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV style="MARGIN:0in 0in 5pt;"&gt;&lt;SPAN style="FONT-SIZE:10pt;COLOR:blue;LINE-HEIGHT:115%;FONT-FAMILY:'Courier New';"&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;lt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE:10pt;COLOR:#a31515;LINE-HEIGHT:115%;FONT-FAMILY:'Courier New';"&gt;siteMapNode&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE:10pt;COLOR:red;LINE-HEIGHT:115%;FONT-FAMILY:'Courier New';"&gt;url&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE:10pt;COLOR:blue;LINE-HEIGHT:115%;FONT-FAMILY:'Courier New';"&gt;=&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE:10pt;LINE-HEIGHT:115%;FONT-FAMILY:'Courier New';"&gt;"&lt;SPAN style="COLOR:blue;"&gt;~/Sitemap-Videos.aspx&lt;/SPAN&gt;"&lt;SPAN style="COLOR:red;"&gt;title&lt;/SPAN&gt;&lt;SPAN style="COLOR:blue;"&gt;=&lt;/SPAN&gt;"&lt;SPAN style="COLOR:blue;"&gt;Videos&lt;/SPAN&gt;"&lt;SPAN style="COLOR:red;"&gt;description&lt;/SPAN&gt;&lt;SPAN style="COLOR:blue;"&gt;=&lt;/SPAN&gt;"&lt;SPAN style="COLOR:blue;"&gt;Videos&lt;/SPAN&gt;"&lt;SPAN style="COLOR:blue;"&gt;&amp;gt;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN style="COLOR:#a31515;"&gt;siteMapNode&lt;/SPAN&gt;&lt;SPAN style="COLOR:blue;"&gt;&amp;gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV style="MARGIN:0in 0in 5pt;"&gt;&lt;SPAN style="FONT-SIZE:10pt;COLOR:blue;LINE-HEIGHT:115%;FONT-FAMILY:'Courier New';"&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;lt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE:10pt;COLOR:#a31515;LINE-HEIGHT:115%;FONT-FAMILY:'Courier New';"&gt;siteMapNode&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE:10pt;COLOR:red;LINE-HEIGHT:115%;FONT-FAMILY:'Courier New';"&gt;url&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE:10pt;COLOR:blue;LINE-HEIGHT:115%;FONT-FAMILY:'Courier New';"&gt;=&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE:10pt;LINE-HEIGHT:115%;FONT-FAMILY:'Courier New';"&gt;"&lt;SPAN style="COLOR:blue;"&gt;~/Sitemap-Presentations.aspx&lt;/SPAN&gt;"&lt;SPAN style="COLOR:red;"&gt;title&lt;/SPAN&gt;&lt;SPAN style="COLOR:blue;"&gt;=&lt;/SPAN&gt;"&lt;SPAN style="COLOR:blue;"&gt;Presentations&lt;/SPAN&gt;"&lt;SPAN style="COLOR:red;"&gt;description&lt;/SPAN&gt;&lt;SPAN style="COLOR:blue;"&gt;=&lt;/SPAN&gt;"&lt;SPAN style="COLOR:blue;"&gt;Presentations&lt;/SPAN&gt;"&lt;SPAN style="COLOR:blue;"&gt;&amp;gt;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN style="COLOR:#a31515;"&gt;siteMapNode&lt;/SPAN&gt;&lt;SPAN style="COLOR:blue;"&gt;&amp;gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV style="MARGIN:0in 0in 5pt;"&gt;&lt;SPAN style="FONT-SIZE:10pt;COLOR:blue;LINE-HEIGHT:115%;FONT-FAMILY:'Courier New';"&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;lt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE:10pt;COLOR:#a31515;LINE-HEIGHT:115%;FONT-FAMILY:'Courier New';"&gt;siteMapNode&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE:10pt;COLOR:red;LINE-HEIGHT:115%;FONT-FAMILY:'Courier New';"&gt;url&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE:10pt;COLOR:blue;LINE-HEIGHT:115%;FONT-FAMILY:'Courier New';"&gt;=&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE:10pt;LINE-HEIGHT:115%;FONT-FAMILY:'Courier New';"&gt;"&lt;SPAN style="COLOR:blue;"&gt;~/Sitemap-Tutorials.aspx&lt;/SPAN&gt;"&lt;SPAN style="COLOR:red;"&gt;title&lt;/SPAN&gt;&lt;SPAN style="COLOR:blue;"&gt;=&lt;/SPAN&gt;"&lt;SPAN style="COLOR:blue;"&gt;Tutorials&lt;/SPAN&gt;"&lt;SPAN style="COLOR:red;"&gt;description&lt;/SPAN&gt;&lt;SPAN style="COLOR:blue;"&gt;=&lt;/SPAN&gt;"&lt;SPAN style="COLOR:blue;"&gt;Tutorials&lt;/SPAN&gt;"&lt;SPAN style="COLOR:blue;"&gt;&amp;gt;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN style="COLOR:#a31515;"&gt;siteMapNode&lt;/SPAN&gt;&lt;SPAN style="COLOR:blue;"&gt;&amp;gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV style="MARGIN:0in 0in 5pt;"&gt;&lt;SPAN style="FONT-SIZE:10pt;COLOR:blue;LINE-HEIGHT:115%;FONT-FAMILY:'Courier New';"&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;lt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE:10pt;COLOR:#a31515;LINE-HEIGHT:115%;FONT-FAMILY:'Courier New';"&gt;siteMapNode&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE:10pt;COLOR:red;LINE-HEIGHT:115%;FONT-FAMILY:'Courier New';"&gt;url&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE:10pt;COLOR:blue;LINE-HEIGHT:115%;FONT-FAMILY:'Courier New';"&gt;=&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE:10pt;LINE-HEIGHT:115%;FONT-FAMILY:'Courier New';"&gt;"&lt;SPAN style="COLOR:blue;"&gt;~/Sitemap-Resources.aspx&lt;/SPAN&gt;"&lt;SPAN style="COLOR:red;"&gt;title&lt;/SPAN&gt;&lt;SPAN style="COLOR:blue;"&gt;=&lt;/SPAN&gt;"&lt;SPAN style="COLOR:blue;"&gt;Resources&lt;/SPAN&gt;"&lt;SPAN style="COLOR:red;"&gt;description&lt;/SPAN&gt;&lt;SPAN style="COLOR:blue;"&gt;=&lt;/SPAN&gt;"&lt;SPAN style="COLOR:blue;"&gt;Resources&lt;/SPAN&gt;"&lt;SPAN style="COLOR:blue;"&gt;&amp;gt;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN style="COLOR:#a31515;"&gt;siteMapNode&lt;/SPAN&gt;&lt;SPAN style="COLOR:blue;"&gt;&amp;gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV style="MARGIN:0in 0in 5pt;"&gt;&lt;SPAN style="FONT-SIZE:10pt;COLOR:blue;LINE-HEIGHT:115%;FONT-FAMILY:'Courier New';"&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;lt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE:10pt;COLOR:#a31515;LINE-HEIGHT:115%;FONT-FAMILY:'Courier New';"&gt;siteMapNode&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE:10pt;COLOR:red;LINE-HEIGHT:115%;FONT-FAMILY:'Courier New';"&gt;url&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE:10pt;COLOR:blue;LINE-HEIGHT:115%;FONT-FAMILY:'Courier New';"&gt;=&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE:10pt;LINE-HEIGHT:115%;FONT-FAMILY:'Courier New';"&gt;"&lt;SPAN style="COLOR:blue;"&gt;~/Sitemap-Samples.aspx&lt;/SPAN&gt;"&lt;SPAN style="COLOR:red;"&gt;title&lt;/SPAN&gt;&lt;SPAN style="COLOR:blue;"&gt;=&lt;/SPAN&gt;"&lt;SPAN style="COLOR:blue;"&gt;Samples&lt;/SPAN&gt;"&lt;SPAN style="COLOR:red;"&gt;description&lt;/SPAN&gt;&lt;SPAN style="COLOR:blue;"&gt;=&lt;/SPAN&gt;"&lt;SPAN style="COLOR:blue;"&gt;Samples&lt;/SPAN&gt;"&lt;SPAN style="COLOR:blue;"&gt;&amp;gt;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN style="COLOR:#a31515;"&gt;siteMapNode&lt;/SPAN&gt;&lt;SPAN style="COLOR:blue;"&gt;&amp;gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV style="MARGIN:0in 0in 5pt;"&gt;&lt;SPAN style="FONT-SIZE:10pt;COLOR:blue;LINE-HEIGHT:115%;FONT-FAMILY:'Courier New';"&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;lt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE:10pt;COLOR:#a31515;LINE-HEIGHT:115%;FONT-FAMILY:'Courier New';"&gt;siteMapNode&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE:10pt;COLOR:red;LINE-HEIGHT:115%;FONT-FAMILY:'Courier New';"&gt;url&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE:10pt;COLOR:blue;LINE-HEIGHT:115%;FONT-FAMILY:'Courier New';"&gt;=&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE:10pt;LINE-HEIGHT:115%;FONT-FAMILY:'Courier New';"&gt;"&lt;SPAN style="COLOR:blue;"&gt;~/Sitemap-QuickStarts.aspx&lt;/SPAN&gt;"&lt;SPAN style="COLOR:red;"&gt;title&lt;/SPAN&gt;&lt;SPAN style="COLOR:blue;"&gt;=&lt;/SPAN&gt;"&lt;SPAN style="COLOR:blue;"&gt;QuickStarts&lt;/SPAN&gt;"&lt;SPAN style="COLOR:red;"&gt;description&lt;/SPAN&gt;&lt;SPAN style="COLOR:blue;"&gt;=&lt;/SPAN&gt;"&lt;SPAN style="COLOR:blue;"&gt;QuickStarts&lt;/SPAN&gt;"&lt;SPAN style="COLOR:blue;"&gt;&amp;gt;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN style="COLOR:#a31515;"&gt;siteMapNode&lt;/SPAN&gt;&lt;SPAN style="COLOR:blue;"&gt;&amp;gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV style="MARGIN:0in 0in 5pt;"&gt;&lt;SPAN style="FONT-SIZE:10pt;COLOR:blue;LINE-HEIGHT:115%;FONT-FAMILY:'Courier New';"&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;lt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE:10pt;COLOR:#a31515;LINE-HEIGHT:115%;FONT-FAMILY:'Courier New';"&gt;siteMapNode&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE:10pt;COLOR:red;LINE-HEIGHT:115%;FONT-FAMILY:'Courier New';"&gt;url&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE:10pt;COLOR:blue;LINE-HEIGHT:115%;FONT-FAMILY:'Courier New';"&gt;=&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE:10pt;LINE-HEIGHT:115%;FONT-FAMILY:'Courier New';"&gt;"&lt;SPAN style="COLOR:blue;"&gt;~/Sitemap-TipsandTricks.aspx&lt;/SPAN&gt;"&lt;SPAN style="COLOR:red;"&gt;title&lt;/SPAN&gt;&lt;SPAN style="COLOR:blue;"&gt;=&lt;/SPAN&gt;"&lt;SPAN style="COLOR:blue;"&gt;Tips and Tricks&lt;/SPAN&gt;"&lt;SPAN style="COLOR:red;"&gt;description&lt;/SPAN&gt;&lt;SPAN style="COLOR:blue;"&gt;=&lt;/SPAN&gt;"&lt;SPAN style="COLOR:blue;"&gt;Tips and Tricks&lt;/SPAN&gt;"&lt;SPAN style="COLOR:blue;"&gt;&amp;gt;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN style="COLOR:#a31515;"&gt;siteMapNode&lt;/SPAN&gt;&lt;SPAN style="COLOR:blue;"&gt;&amp;gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV style="MARGIN:0in 0in 5pt;"&gt;&lt;SPAN style="FONT-SIZE:10pt;COLOR:blue;LINE-HEIGHT:115%;FONT-FAMILY:'Courier New';"&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;lt;/&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE:10pt;COLOR:#a31515;LINE-HEIGHT:115%;FONT-FAMILY:'Courier New';"&gt;siteMapNode&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE:10pt;COLOR:blue;LINE-HEIGHT:115%;FONT-FAMILY:'Courier New';"&gt;&amp;gt;&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV style="MARGIN:0in 0in 5pt;"&gt;&lt;SPAN style="FONT-SIZE:10pt;COLOR:blue;LINE-HEIGHT:115%;FONT-FAMILY:'Courier New';"&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;lt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE:10pt;COLOR:#a31515;LINE-HEIGHT:115%;FONT-FAMILY:'Courier New';"&gt;siteMapNode&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE:10pt;COLOR:red;LINE-HEIGHT:115%;FONT-FAMILY:'Courier New';"&gt;url&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE:10pt;COLOR:blue;LINE-HEIGHT:115%;FONT-FAMILY:'Courier New';"&gt;=&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE:10pt;LINE-HEIGHT:115%;FONT-FAMILY:'Courier New';"&gt;"&lt;SPAN style="COLOR:blue;"&gt;~/Sitemap-Issues.aspx&lt;/SPAN&gt;"&lt;SPAN style="COLOR:red;"&gt;title&lt;/SPAN&gt;&lt;SPAN style="COLOR:blue;"&gt;=&lt;/SPAN&gt;"&lt;SPAN style="COLOR:blue;"&gt;Issues&lt;/SPAN&gt;"&lt;SPAN style="COLOR:red;"&gt;description&lt;/SPAN&gt;&lt;SPAN style="COLOR:blue;"&gt;=&lt;/SPAN&gt;"&lt;SPAN style="COLOR:blue;"&gt;Issues&lt;/SPAN&gt;"&lt;SPAN style="COLOR:blue;"&gt;&amp;gt;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN style="COLOR:#a31515;"&gt;siteMapNode&lt;/SPAN&gt;&lt;SPAN style="COLOR:blue;"&gt;&amp;gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV style="MARGIN:0in 0in 5pt;"&gt;&lt;SPAN style="FONT-SIZE:10pt;COLOR:blue;LINE-HEIGHT:115%;FONT-FAMILY:'Courier New';"&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;lt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE:10pt;COLOR:#a31515;LINE-HEIGHT:115%;FONT-FAMILY:'Courier New';"&gt;siteMapNode&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE:10pt;COLOR:red;LINE-HEIGHT:115%;FONT-FAMILY:'Courier New';"&gt;url&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE:10pt;COLOR:blue;LINE-HEIGHT:115%;FONT-FAMILY:'Courier New';"&gt;=&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE:10pt;LINE-HEIGHT:115%;FONT-FAMILY:'Courier New';"&gt;"&lt;SPAN style="COLOR:blue;"&gt;~/Sitemap-Misc.aspx&lt;/SPAN&gt;"&lt;SPAN style="COLOR:red;"&gt;title&lt;/SPAN&gt;&lt;SPAN style="COLOR:blue;"&gt;=&lt;/SPAN&gt;"&lt;SPAN style="COLOR:blue;"&gt;Misc&lt;/SPAN&gt;"&lt;SPAN style="COLOR:red;"&gt;description&lt;/SPAN&gt;&lt;SPAN style="COLOR:blue;"&gt;=&lt;/SPAN&gt;"&lt;SPAN style="COLOR:blue;"&gt;Misc&lt;/SPAN&gt;"&lt;SPAN style="COLOR:blue;"&gt;&amp;gt;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN style="COLOR:#a31515;"&gt;siteMapNode&lt;/SPAN&gt;&lt;SPAN style="COLOR:blue;"&gt;&amp;gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV style="MARGIN:0in 0in 5pt;"&gt;&lt;SPAN style="FONT-SIZE:10pt;COLOR:blue;LINE-HEIGHT:115%;FONT-FAMILY:'Courier New';"&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;lt;/&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE:10pt;COLOR:#a31515;LINE-HEIGHT:115%;FONT-FAMILY:'Courier New';"&gt;siteMapNode&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE:10pt;COLOR:blue;LINE-HEIGHT:115%;FONT-FAMILY:'Courier New';"&gt;&amp;gt;&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV style="MARGIN:0in 0in 5pt;"&gt;&lt;SPAN style="FONT-SIZE:10pt;COLOR:blue;LINE-HEIGHT:115%;FONT-FAMILY:'Courier New';"&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;lt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE:10pt;COLOR:#a31515;LINE-HEIGHT:115%;FONT-FAMILY:'Courier New';"&gt;siteMapNode&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE:10pt;COLOR:red;LINE-HEIGHT:115%;FONT-FAMILY:'Courier New';"&gt;url&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE:10pt;COLOR:blue;LINE-HEIGHT:115%;FONT-FAMILY:'Courier New';"&gt;=&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE:10pt;LINE-HEIGHT:115%;FONT-FAMILY:'Courier New';"&gt;"&lt;SPAN style="COLOR:blue;"&gt;~/Sitemap-Shows.aspx&lt;/SPAN&gt;"&lt;SPAN style="COLOR:red;"&gt;title&lt;/SPAN&gt;&lt;SPAN style="COLOR:blue;"&gt;=&lt;/SPAN&gt;"&lt;SPAN style="COLOR:blue;"&gt;Shows&lt;/SPAN&gt;"&lt;SPAN style="COLOR:red;"&gt;description&lt;/SPAN&gt;&lt;SPAN style="COLOR:blue;"&gt;=&lt;/SPAN&gt;"&lt;SPAN style="COLOR:blue;"&gt;Shows&lt;/SPAN&gt;"&lt;SPAN style="COLOR:blue;"&gt;&amp;gt;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN style="COLOR:#a31515;"&gt;siteMapNode&lt;/SPAN&gt;&lt;SPAN style="COLOR:blue;"&gt;&amp;gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV style="MARGIN:0in 0in 5pt;"&gt;&lt;SPAN style="FONT-SIZE:10pt;COLOR:blue;LINE-HEIGHT:115%;FONT-FAMILY:'Courier New';"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE:10pt;COLOR:#a31515;LINE-HEIGHT:115%;FONT-FAMILY:'Courier New';"&gt;siteMapNode&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE:10pt;COLOR:blue;LINE-HEIGHT:115%;FONT-FAMILY:'Courier New';"&gt;&amp;gt;&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV style="MARGIN:0in 0in 5pt;"&gt;&lt;SPAN style="FONT-SIZE:10pt;COLOR:blue;LINE-HEIGHT:115%;FONT-FAMILY:'Courier New';"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE:10pt;COLOR:#a31515;LINE-HEIGHT:115%;FONT-FAMILY:'Courier New';"&gt;siteMapNode&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE:10pt;COLOR:blue;LINE-HEIGHT:115%;FONT-FAMILY:'Courier New';"&gt;&amp;gt;&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE:10pt;COLOR:blue;LINE-HEIGHT:115%;FONT-FAMILY:'Courier New';"&gt;&amp;lt;/&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE:10pt;COLOR:#a31515;LINE-HEIGHT:115%;FONT-FAMILY:'Courier New';"&gt;siteMap&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE:10pt;COLOR:blue;LINE-HEIGHT:115%;FONT-FAMILY:'Courier New';"&gt;&amp;gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/DIV&gt;
&lt;P&gt;We have the root website node, marked with title “&lt;I&gt;Home&lt;/I&gt;” and the sitemap node marked with title “&lt;I&gt;Sitemap&lt;/I&gt;”. All child nodes of the “&lt;I&gt;Sitemap&lt;/I&gt;” node except the last child (&lt;I&gt;Shows&lt;/I&gt;) are processed by a single ASP.NET page. Since the URL is different no matter that all these nodes are in fact one ASP.NET page the &lt;I&gt;SiteMapPath&lt;/I&gt; works the way it has to work. For example if we are on the following URL:&lt;/P&gt;
&lt;P&gt;&lt;A href="http://www.silverlightshow.net/Sitemap-Articles.aspx"&gt;http://www.silverlightshow.net/Sitemap-Articles.aspx&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;Our &lt;I&gt;SiteMapPath&lt;/I&gt; is rendered the following way:&lt;/P&gt;
&lt;P&gt;&lt;IMG alt=sitemap_1 src="http://completit.com/communityserver/blogs/nraychev/WindowsLiveWriter/SiteMapandURLRewritinginASP.NET2.0_A764/sitemap_1_thumb.jpg"&gt;&lt;/P&gt;
&lt;P&gt;If you look at our &lt;I&gt;Web.sitemap&lt;/I&gt; file you will see that it works fine. Till now everything is OK, but imagine that we want to open the &lt;B&gt;last&lt;/B&gt; page in the &lt;I&gt;Articles&lt;/I&gt; page, which is on the following URL:&lt;/P&gt;
&lt;P&gt;&lt;A href="http://www.silverlightshow.net/Sitemap-Articles-1.aspx"&gt;http://www.silverlightshow.net/Sitemap-Articles-1.aspx&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;It works on &lt;A href="http://www.silverlightshow.net/"&gt;SilverlightShow.net&lt;/A&gt; because we have made it work but in common scenario it wouldn’t work. No &lt;I&gt;SiteMapPath&lt;/I&gt; would be shown because in the &lt;I&gt;Web.sitemap&lt;/I&gt; we don’t have a node with &lt;I&gt;url="~/Sitemap-Articles-1.aspx"&lt;/I&gt;. You can always say that we can add this node too but in our case lots of articles are added to the site every day and the pages become more and more. I don’t like the option of checking for new pages every day and updating the &lt;I&gt;Web.sitemap&lt;/I&gt; file.&lt;/P&gt;
&lt;P&gt;&lt;B&gt;The solution&lt;/B&gt;&lt;/P&gt;
&lt;P&gt;The solution is to attach to the &lt;I&gt;SiteMap.SiteMapResolve&lt;/I&gt; in the &lt;I&gt;OnLoad&lt;/I&gt; handler of the page that processes the request where paging is needed.&lt;/P&gt;
&lt;P&gt;We have the following code in the code behind of our page:&lt;/P&gt;
&lt;DIV style="BORDER-RIGHT:black 2px solid;PADDING-RIGHT:10px;BORDER-TOP:black 2px solid;PADDING-LEFT:10px;PADDING-BOTTOM:10px;BORDER-LEFT:black 2px solid;PADDING-TOP:10px;BORDER-BOTTOM:black 2px solid;"&gt;
&lt;DIV style="MARGIN:0in 0in 5pt;"&gt;&lt;SPAN style="FONT-SIZE:10pt;COLOR:blue;LINE-HEIGHT:115%;FONT-FAMILY:'Courier New';"&gt;protected&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE:10pt;LINE-HEIGHT:115%;FONT-FAMILY:'Courier New';"&gt; &lt;SPAN style="COLOR:blue;"&gt;override&lt;/SPAN&gt; &lt;SPAN style="COLOR:blue;"&gt;void&lt;/SPAN&gt; OnLoad( &lt;SPAN style="COLOR:#2b91af;"&gt;EventArgs&lt;/SPAN&gt; e )&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV style="MARGIN:0in 0in 5pt;"&gt;&lt;SPAN style="FONT-SIZE:10pt;LINE-HEIGHT:115%;FONT-FAMILY:'Courier New';"&gt;{&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV style="MARGIN:0in 0in 5pt;"&gt;&lt;SPAN style="FONT-SIZE:10pt;LINE-HEIGHT:115%;FONT-FAMILY:'Courier New';"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="COLOR:blue;"&gt;base&lt;/SPAN&gt;.OnLoad( e );&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE:10pt;LINE-HEIGHT:115%;FONT-FAMILY:'Courier New';"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="COLOR:#2b91af;"&gt;SiteMap&lt;/SPAN&gt;.SiteMapResolve += &lt;SPAN style="COLOR:blue;"&gt;new&lt;/SPAN&gt; &lt;SPAN style="COLOR:#2b91af;"&gt;SiteMapResolveEventHandler&lt;/SPAN&gt;( &lt;SPAN style="COLOR:blue;"&gt;this&lt;/SPAN&gt;.ConstructSiteMap );&lt;/SPAN&gt;&lt;/P&gt;&lt;/DIV&gt;
&lt;P&gt;Note: You can do the same in the &lt;I&gt;Page_Load&lt;/I&gt; method if your ASP.NET page is marked with: &lt;I&gt;AutoEventWireup="true"&lt;/I&gt;. I’m overriding the &lt;I&gt;OnLoad&lt;/I&gt; event handler because it is faster :)&lt;/P&gt;
&lt;P&gt;Note: &lt;I&gt;SiteMap&lt;/I&gt; class is located in the &lt;I&gt;System.Web&lt;/I&gt; namespace and is an in-memory representation of the navigation structure of the website. It is used by the &lt;I&gt;SiteMapPath&lt;/I&gt; control.&lt;/P&gt;
&lt;P&gt;Here is the handler for the &lt;I&gt;SiteMapResolve&lt;/I&gt; event.&lt;/P&gt;
&lt;DIV style="BORDER-RIGHT:black 2px solid;PADDING-RIGHT:10px;BORDER-TOP:black 2px solid;PADDING-LEFT:10px;PADDING-BOTTOM:10px;BORDER-LEFT:black 2px solid;PADDING-TOP:10px;BORDER-BOTTOM:black 2px solid;"&gt;
&lt;DIV style="MARGIN:0in 0in 5pt;"&gt;&lt;SPAN style="FONT-SIZE:10pt;COLOR:blue;LINE-HEIGHT:115%;FONT-FAMILY:'Courier New';"&gt;private&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE:10pt;LINE-HEIGHT:115%;FONT-FAMILY:'Courier New';"&gt; &lt;SPAN style="COLOR:#2b91af;"&gt;SiteMapNode&lt;/SPAN&gt; ConstructSiteMap( &lt;SPAN style="COLOR:#2b91af;"&gt;Object&lt;/SPAN&gt; sender, &lt;SPAN style="COLOR:#2b91af;"&gt;SiteMapResolveEventArgs&lt;/SPAN&gt; e )&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV style="MARGIN:0in 0in 5pt;"&gt;&lt;SPAN style="FONT-SIZE:10pt;LINE-HEIGHT:115%;FONT-FAMILY:'Courier New';"&gt;{&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV style="MARGIN:0in 0in 5pt;"&gt;&lt;SPAN style="FONT-SIZE:10pt;LINE-HEIGHT:115%;FONT-FAMILY:'Courier New';"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="COLOR:#2b91af;"&gt;SiteMapNode&lt;/SPAN&gt; currentNode;&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV style="MARGIN:0in 0in 5pt;"&gt;&lt;SPAN style="FONT-SIZE:10pt;LINE-HEIGHT:115%;FONT-FAMILY:'Courier New';"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="COLOR:blue;"&gt;if&lt;/SPAN&gt; ( &lt;SPAN style="COLOR:#2b91af;"&gt;SiteMap&lt;/SPAN&gt;.CurrentNode == &lt;SPAN style="COLOR:blue;"&gt;null&lt;/SPAN&gt; )&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV style="MARGIN:0in 0in 5pt;"&gt;&lt;SPAN style="FONT-SIZE:10pt;LINE-HEIGHT:115%;FONT-FAMILY:'Courier New';"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV style="MARGIN:0in 0in 5pt;"&gt;&lt;SPAN style="FONT-SIZE:10pt;LINE-HEIGHT:115%;FONT-FAMILY:'Courier New';"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; currentNode = e.Provider.FindSiteMapNode( &lt;SPAN style="COLOR:#a31515;"&gt;"~/&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE:10pt;COLOR:#a31515;LINE-HEIGHT:115%;FONT-FAMILY:'Courier New';"&gt;Sitemap-Articles.aspx "&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE:10pt;LINE-HEIGHT:115%;FONT-FAMILY:'Courier New';"&gt; );&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV style="MARGIN:0in 0in 5pt;"&gt;&lt;SPAN style="FONT-SIZE:10pt;LINE-HEIGHT:115%;FONT-FAMILY:'Courier New';"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV style="MARGIN:0in 0in 5pt;"&gt;&lt;SPAN style="FONT-SIZE:10pt;LINE-HEIGHT:115%;FONT-FAMILY:'Courier New';"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="COLOR:blue;"&gt;else&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV style="MARGIN:0in 0in 5pt;"&gt;&lt;SPAN style="FONT-SIZE:10pt;LINE-HEIGHT:115%;FONT-FAMILY:'Courier New';"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV style="MARGIN:0in 0in 5pt;"&gt;&lt;SPAN style="FONT-SIZE:10pt;LINE-HEIGHT:115%;FONT-FAMILY:'Courier New';"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; currentNode = &lt;SPAN style="COLOR:#2b91af;"&gt;SiteMap&lt;/SPAN&gt;.CurrentNode.Clone( &lt;SPAN style="COLOR:blue;"&gt;true&lt;/SPAN&gt; );&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV style="MARGIN:0in 0in 5pt;"&gt;&lt;SPAN style="FONT-SIZE:10pt;LINE-HEIGHT:115%;FONT-FAMILY:'Courier New';"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV style="MARGIN:0in 0in 5pt;"&gt;&lt;SPAN style="FONT-SIZE:10pt;LINE-HEIGHT:115%;FONT-FAMILY:'Courier New';"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="COLOR:blue;"&gt;return&lt;/SPAN&gt; currentNode;&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE:10pt;LINE-HEIGHT:115%;FONT-FAMILY:'Courier New';"&gt;}&lt;/SPAN&gt;&lt;/P&gt;&lt;/DIV&gt;
&lt;P&gt;In our case if the URL is with paging it is not found in the &lt;I&gt;Web.sitemap&lt;/I&gt; file and that’s why the &lt;I&gt;SiteMap.CurrentNode&lt;/I&gt; property will be null. This causes the &lt;I&gt;SiteMapPath&lt;/I&gt; control to disappear. OK, now we check if this property of the &lt;I&gt;SiteMap&lt;/I&gt; is null and if it is we just create a &lt;I&gt;SiteMapNode&lt;/I&gt; using the current provider’s &lt;I&gt;SiteMapProvider.FindSiteMapNode&lt;/I&gt; method giving the URL without paging. Note that we surely will know the URL that must be given to the &lt;I&gt;FindSiteMapNode&lt;/I&gt; method because we are in the page which processes the request. If this property is not null we just clone it. The return value of our handler will be the &lt;I&gt;SiteMapNode&lt;/I&gt; which will be used to render the &lt;I&gt;SiteMapPath&lt;/I&gt; control.&lt;/P&gt;
&lt;P&gt;This is a better solution than updating the &lt;I&gt;Web.sitemap&lt;/I&gt; file every day.&lt;/P&gt;
&lt;P&gt;&lt;B&gt;Additional Issues and solutions&lt;/B&gt;&lt;/P&gt;
&lt;P&gt;I found out that the &lt;I&gt;SiteMap&lt;/I&gt; class has a strange way of caching. For example if we go to: &lt;A href="http://www.silverlightshow.net/Sitemap-Controls.aspx"&gt;http://www.silverlightshow.net/Sitemap-Controls.aspx&lt;/A&gt; our &lt;I&gt;SiteMapPath&lt;/I&gt; will look like this:&lt;/P&gt;
&lt;P&gt;&lt;IMG alt=sitemap_2 src="http://completit.com/communityserver/blogs/nraychev/WindowsLiveWriter/SiteMapandURLRewritinginASP.NET2.0_A764/sitemap_2_thumb.jpg"&gt;&lt;/P&gt;
&lt;P&gt;After that we are going to &lt;A href="http://www.silverlightshow.net/Sitemap-Articles.aspx"&gt;http://www.silverlightshow.net/Sitemap-Articles.aspx&lt;/A&gt; and our &lt;I&gt;SiteMapPath&lt;/I&gt; is normal:&lt;/P&gt;
&lt;P&gt;&lt;IMG alt=sitemap_1 src="http://completit.com/communityserver/blogs/nraychev/WindowsLiveWriter/SiteMapandURLRewritinginASP.NET2.0_A764/sitemap_1_thumb_1.jpg"&gt;&lt;/P&gt;
&lt;P&gt;But the problem comes when we go through the pages. If we hadn’t find a solution our &lt;I&gt;SiteMapPath&lt;/I&gt; path would look this way, no matter that we are on the &lt;I&gt;Articles&lt;/I&gt; page and not on the &lt;I&gt;Controls&lt;/I&gt; page:&lt;/P&gt;
&lt;P&gt;&lt;IMG alt=sitemap_2 src="http://completit.com/communityserver/blogs/nraychev/WindowsLiveWriter/SiteMapandURLRewritinginASP.NET2.0_A764/sitemap_2_thumb_1.jpg"&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;This behavior is as strange as our solution. It seems that the &lt;I&gt;SiteMap&lt;/I&gt; remembered that when last time the &lt;I&gt;CurrentNode&lt;/I&gt; was null we made it &lt;I&gt;“~/Sitemap-Controls.aspx”&lt;/I&gt; and when we are on &lt;I&gt;Articles&lt;/I&gt; page and this node is again null it uses the previous value from &lt;I&gt;Controls&lt;/I&gt;. As I told you our solution is also strange but works :) We are putting our page path in variable instead of literal:&lt;/P&gt;
&lt;DIV style="BORDER-RIGHT:black 2px solid;PADDING-RIGHT:10px;BORDER-TOP:black 2px solid;PADDING-LEFT:10px;PADDING-BOTTOM:10px;BORDER-LEFT:black 2px solid;PADDING-TOP:10px;BORDER-BOTTOM:black 2px solid;"&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE:10pt;LINE-HEIGHT:115%;FONT-FAMILY:;"&gt;currentNode = e.Provider.FindSiteMapNode( &lt;SPAN style="COLOR:blue;"&gt;this&lt;/SPAN&gt;.currentPagePath );&lt;/SPAN&gt;&lt;/P&gt;&lt;/DIV&gt;
&lt;P&gt;Our variable of type string &lt;I&gt;currentPagePath&lt;/I&gt; contains for example the following value “&lt;I&gt;~/Sitemap-Games.aspx&lt;/I&gt;” for the following page: &lt;A href="http://www.silverlightshow.net/Sitemap-Games.aspx"&gt;http://www.silverlightshow.net/Sitemap-Games.aspx&lt;/A&gt;. The behavior is exactly the same. But if we make this variable null just after our page is unloaded no caching takes place:&lt;/P&gt;
&lt;DIV style="BORDER-RIGHT:black 2px solid;PADDING-RIGHT:10px;BORDER-TOP:black 2px solid;PADDING-LEFT:10px;PADDING-BOTTOM:10px;BORDER-LEFT:black 2px solid;PADDING-TOP:10px;BORDER-BOTTOM:black 2px solid;"&gt;
&lt;DIV style="MARGIN:0in 0in 5pt;"&gt;&lt;SPAN style="FONT-SIZE:10pt;COLOR:blue;LINE-HEIGHT:115%;FONT-FAMILY:'Courier New';"&gt;protected&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE:10pt;LINE-HEIGHT:115%;FONT-FAMILY:'Courier New';"&gt; &lt;SPAN style="COLOR:blue;"&gt;override&lt;/SPAN&gt; &lt;SPAN style="COLOR:blue;"&gt;void&lt;/SPAN&gt; OnUnload( &lt;SPAN style="COLOR:#2b91af;"&gt;EventArgs&lt;/SPAN&gt; e )&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV style="MARGIN:0in 0in 5pt;"&gt;&lt;SPAN style="FONT-SIZE:10pt;LINE-HEIGHT:115%;FONT-FAMILY:'Courier New';"&gt;{&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV style="MARGIN:0in 0in 5pt;"&gt;&lt;SPAN style="FONT-SIZE:10pt;LINE-HEIGHT:115%;FONT-FAMILY:'Courier New';"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="COLOR:blue;"&gt;base&lt;/SPAN&gt;.OnUnload( e );&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV style="MARGIN:0in 0in 5pt;"&gt;&lt;SPAN style="FONT-SIZE:10pt;LINE-HEIGHT:115%;FONT-FAMILY:'Courier New';"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="COLOR:blue;"&gt;this&lt;/SPAN&gt;.currentPagePath = &lt;SPAN style="COLOR:blue;"&gt;null&lt;/SPAN&gt;;&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE:10pt;LINE-HEIGHT:115%;FONT-FAMILY:'Courier New';"&gt;}&lt;/SPAN&gt;&lt;/P&gt;&lt;/DIV&gt;
&lt;P&gt;Note: In our case our &lt;I&gt;Controls&lt;/I&gt; and &lt;I&gt;Articles&lt;/I&gt; pages are processed by a single ASP.NET page. But the caching behavior of the &lt;I&gt;SiteMap&lt;/I&gt; takes place even these two URLs are processed by different ASP.NET pages. Our solution works for our &lt;I&gt;Shows&lt;/I&gt; page which is different ASP.NET page. You just must make the variable which contains the current node path null on both places.&lt;/P&gt;&lt;img src="http://completit.com/communityserver/aggbug.aspx?PostID=3112" width="1" height="1"&gt;</description><category domain="http://completit.com/communityserver/blogs/nraychev/archive/tags/ASP.NET/default.aspx">ASP.NET</category><category domain="http://completit.com/communityserver/blogs/nraychev/archive/tags/URL+Rewriting/default.aspx">URL Rewriting</category><category domain="http://completit.com/communityserver/blogs/nraychev/archive/tags/SiteMapPath/default.aspx">SiteMapPath</category><category domain="http://completit.com/communityserver/blogs/nraychev/archive/tags/SiteMap/default.aspx">SiteMap</category><category domain="http://completit.com/communityserver/blogs/nraychev/archive/tags/SilverlightShow.net/default.aspx">SilverlightShow.net</category></item><item><title>Using the GridSplitter control in Silverlight 2 Beta 1</title><link>http://completit.com/communityserver/blogs/nraychev/archive/2008/04/15/using-the-gridsplitter-control-in-silverlight-2-beta-1.aspx</link><pubDate>Tue, 15 Apr 2008 14:30:00 GMT</pubDate><guid isPermaLink="false">456c5cc1-fe21-4ac2-8669-11477cec168e:3075</guid><dc:creator>nraychev</dc:creator><slash:comments>0</slash:comments><description>&lt;P&gt;I wrote a little article about using the GridSplitter control.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;You can see it here:&lt;/P&gt;
&lt;P&gt;&lt;A class="" href="http://www.silverlightshow.net/items/4795.aspx"&gt;GridSplitter Article&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;I also wrote another article in response of a guy who asked me about &lt;EM&gt;how the Canvas control deals with the Measure/Arrange process when it is laid out by a parent Panel.&lt;/EM&gt; &lt;/P&gt;
&lt;P&gt;Here it is: &lt;/P&gt;
&lt;P&gt;&lt;A class="" href="http://www.silverlightshow.net/items/4688.aspx"&gt;Canvas and Measure/Arrange&lt;/A&gt;&lt;/P&gt;&lt;img src="http://completit.com/communityserver/aggbug.aspx?PostID=3075" width="1" height="1"&gt;</description><category domain="http://completit.com/communityserver/blogs/nraychev/archive/tags/SilverlightShow.net/default.aspx">SilverlightShow.net</category><category domain="http://completit.com/communityserver/blogs/nraychev/archive/tags/GridSplitter/default.aspx">GridSplitter</category><category domain="http://completit.com/communityserver/blogs/nraychev/archive/tags/Silverlight/default.aspx">Silverlight</category><category domain="http://completit.com/communityserver/blogs/nraychev/archive/tags/Silverlight+Controls/default.aspx">Silverlight Controls</category><category domain="http://completit.com/communityserver/blogs/nraychev/archive/tags/Grid/default.aspx">Grid</category></item><item><title>A few articles about layout controls in Silverlight 2 Beta 1.</title><link>http://completit.com/communityserver/blogs/nraychev/archive/2008/04/09/a-few-articles-about-layout-controls-in-silverlight-2-beta-1.aspx</link><pubDate>Wed, 09 Apr 2008 08:21:00 GMT</pubDate><guid isPermaLink="false">456c5cc1-fe21-4ac2-8669-11477cec168e:3036</guid><dc:creator>nraychev</dc:creator><slash:comments>0</slash:comments><description>&lt;P&gt;Hi to all :)&lt;/P&gt;
&lt;P&gt;As a first post in this blog I'd like to present the articles about Silverlight which we published this week. They describe&amp;nbsp;how to&amp;nbsp;use&amp;nbsp;the layout controls in Silverlight 2 Beta 1 and can be used as tutotials: &lt;/P&gt;
&lt;P&gt;&amp;nbsp;Yolu can see them here:&lt;/P&gt;
&lt;P&gt;&lt;A class="" href="http://www.silverlightshow.net/items/4642.aspx"&gt;Layout controls in Silverlight 2 Beta 1&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;A class="" href="http://www.silverlightshow.net/items/4609.aspx"&gt;Using the Canvas control in Silverlight 2 Beta 1&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;A class="" href="http://www.silverlightshow.net/items/4610.aspx"&gt;Using the StackPanel control in Silverlight 2 Beta 1&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;A class="" href="http://www.silverlightshow.net/items/4611.aspx"&gt;Using the Grid control in Silverlight 2 Beta 1&lt;/A&gt;&lt;/P&gt;&lt;img src="http://completit.com/communityserver/aggbug.aspx?PostID=3036" width="1" height="1"&gt;</description><category domain="http://completit.com/communityserver/blogs/nraychev/archive/tags/SilverlightShow.net/default.aspx">SilverlightShow.net</category><category domain="http://completit.com/communityserver/blogs/nraychev/archive/tags/Silverlight/default.aspx">Silverlight</category><category domain="http://completit.com/communityserver/blogs/nraychev/archive/tags/Silverlight+Controls/default.aspx">Silverlight Controls</category><category domain="http://completit.com/communityserver/blogs/nraychev/archive/tags/Canvas/default.aspx">Canvas</category><category domain="http://completit.com/communityserver/blogs/nraychev/archive/tags/Grid/default.aspx">Grid</category><category domain="http://completit.com/communityserver/blogs/nraychev/archive/tags/Silverlight+Layout+Controls/default.aspx">Silverlight Layout Controls</category><category domain="http://completit.com/communityserver/blogs/nraychev/archive/tags/StackPanel/default.aspx">StackPanel</category></item><item><title>DataGridView Extension 1.1.1 was released today.</title><link>http://completit.com/communityserver/blogs/dgve/archive/2008/02/29/datagridview-extension-1-1-1-was-released-today.aspx</link><pubDate>Fri, 29 Feb 2008 16:13:00 GMT</pubDate><guid isPermaLink="false">456c5cc1-fe21-4ac2-8669-11477cec168e:2779</guid><dc:creator>iiordanov</dc:creator><slash:comments>0</slash:comments><description>&lt;P&gt;DataGridView Extension 1.1.1&amp;nbsp;was published today and&amp;nbsp;the full functional free version&amp;nbsp;can be downloaded from &lt;A class="" href="http://completit.com/Products/DGVE/Downloads.aspx"&gt;here&lt;/A&gt;.&lt;BR&gt;List of the fixed issues included in this new version are:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Added rows to unbound DataGridView control are not shown - described in &lt;A class="" href="http://completit.com/communityserver/forums/permalink/2447/2447/ShowThread.aspx#2447"&gt;this&amp;nbsp;post&lt;/A&gt;;&lt;/LI&gt;
&lt;LI&gt;Export of DataGridView using API results in black color of some of the exported cells;&lt;/LI&gt;
&lt;LI&gt;Improved multithread operations when exporting;&lt;/LI&gt;
&lt;LI&gt;Changes in API comments on classes, methods, properties, etc;&lt;/LI&gt;
&lt;LI&gt;Other bug fixes.&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;What more has changed is that now the source code of the DataGridView Extension is available for sell from &lt;A class="" href="http://completit.com/Products/DGVE/Overview.aspx"&gt;here&lt;/A&gt;.&lt;/P&gt;&lt;img src="http://completit.com/communityserver/aggbug.aspx?PostID=2779" width="1" height="1"&gt;</description><category domain="http://completit.com/communityserver/blogs/dgve/archive/tags/1.1.1+Release/default.aspx">1.1.1 Release</category></item><item><title>CodeCamp Bulgaria</title><link>http://completit.com/communityserver/blogs/estoychev/archive/2008/02/07/codecamp-bulgaria.aspx</link><pubDate>Thu, 07 Feb 2008 11:40:16 GMT</pubDate><guid isPermaLink="false">456c5cc1-fe21-4ac2-8669-11477cec168e:2224</guid><dc:creator>estoychev</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;&lt;img style="margin:0px 10px 0px 0px;" height="122" alt="codecamp" src="http://completit.com/communityserver/blogs/estoychev/WindowsLiveWriter/CodeCampBulgaria_BCB4/codecamp_3.png" width="91" align="left" border="0" /&gt; The developer's community in Bulgaria organizes the first Code Camp on 15/16th of February 2008. I'm glad to see that such initiatives are held in my country as well. I'm sure it is going to be fun and this will be the first of many upcoming camps. &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;There will be 7 sessions:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Pingback and Trackback enable your web application&lt;/li&gt;    &lt;li&gt;Multicore architectures and programming&lt;/li&gt;    &lt;li&gt;CIFactory - continues integration on crack&lt;/li&gt;    &lt;li&gt;Mootools&lt;/li&gt;    &lt;li&gt;Aggregator How-To&lt;/li&gt;    &lt;li&gt;Creating multiplatform .NET applications using Mono&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;I'm going to speak in the first one - Pingback and Trackback enable your web application. You can find more information on the official site - &lt;a href="http://codecamp.sofiadev.org"&gt;http://codecamp.sofiadev.org&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Meet you there.&lt;/p&gt;&lt;img src="http://completit.com/communityserver/aggbug.aspx?PostID=2224" width="1" height="1"&gt;</description></item><item><title>Interactive Silverlight Voting Control</title><link>http://completit.com/communityserver/blogs/idragoev/archive/2007/12/05/interactive-silverlight-voting-control.aspx</link><pubDate>Wed, 05 Dec 2007 14:43:00 GMT</pubDate><guid isPermaLink="false">456c5cc1-fe21-4ac2-8669-11477cec168e:1157</guid><dc:creator>idragoev</dc:creator><slash:comments>0</slash:comments><description>&lt;P&gt;As you might know, we at CompletIT are behind the&amp;nbsp;&lt;A href="http://www.silverlightshow.net/Default.aspx"&gt;SilverlightShow.net&lt;/A&gt; - the independent Silverlight community site. Also, the last few weeks we've published several articles (with source code included) just to show how easy is to create nice&amp;nbsp;stuff with&amp;nbsp;Silverlight 1.1.&lt;/P&gt;
&lt;P&gt;I also decided to write an article based on simple &lt;A class="" href="http://www.silverlightshow.net/items/2477.aspx"&gt;interactive voting control&lt;/A&gt;. The purpose of this control is to show the current results for certain vote. The site visitors can give their vote simply by clicking on the option result they like and the results are automatically updated.&lt;/P&gt;
&lt;P&gt;We will continue publishing articles with source code. We hope such examples are helpful for&amp;nbsp;the developers.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;You can submit your own&amp;nbsp;article Silverlight on &lt;A href="http://www.silverlightshow.net/Default.aspx"&gt;SilverlightShow.net&lt;/A&gt;&amp;nbsp;- just click &lt;A class="" href="http://www.silverlightshow.net/SubmitArticle.aspx"&gt;here&lt;/A&gt;.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;img src="http://completit.com/communityserver/aggbug.aspx?PostID=1157" width="1" height="1"&gt;</description><category domain="http://completit.com/communityserver/blogs/idragoev/archive/tags/Silverlight/default.aspx">Silverlight</category><category domain="http://completit.com/communityserver/blogs/idragoev/archive/tags/SilverlightShow/default.aspx">SilverlightShow</category><category domain="http://completit.com/communityserver/blogs/idragoev/archive/tags/Silverlight+Control/default.aspx">Silverlight Control</category></item><item><title>Silverlight 1.1 Tools Alpha - VS Orcas Beta 2 to VS2008 RTM migration issues</title><link>http://completit.com/communityserver/blogs/estoychev/archive/2007/12/04/silverlight-1-1-tools-alpha-vs-orcas-beta-2-to-vs2008-rtm-migration-issues.aspx</link><pubDate>Tue, 04 Dec 2007 09:10:27 GMT</pubDate><guid isPermaLink="false">456c5cc1-fe21-4ac2-8669-11477cec168e:1132</guid><dc:creator>estoychev</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;Last week &lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyId=25144C27-6514-4AD4-8BCB-E2E051416E03&amp;amp;displaylang=en"&gt;Silverlight 1.1 Tools Alpha for VS 2008 RTM&lt;/a&gt; were released and as a developer working with Silverlight I run to install them on my fresh new copy of VS 2008 RTM. The installation went without any problems, but unfortunately after trying to create a new Silverlight project (same for class library) I got a popup &lt;strong&gt;error&lt;/strong&gt; saying:
&lt;/p&gt;&lt;p style="background:#f2f2f2;"&gt;"&lt;span style="font-family:Courier New;"&gt;The project file 'C:\Users\estoychev\AppData\Local\Temp\zhxiyguv.4rr\Temp\SilverlightProject1.csproj' cannot be opened. The project type is not supported by this installation."&lt;/span&gt;
	&lt;/p&gt;&lt;p&gt;Puff. I tried to google about this error message but I got no helpful results. I only noticed that a guy commented on the ScottGu's blog with the same problem. Scott kindly replied to this guy to mail him and he would attach someone to help for this problem. I followed his advice and wrote to him. The next day I received an answer from Bill Hiebert guiding me how to resolve my problem. The &lt;strong&gt;simple step you should take&lt;/strong&gt; is the following: 
&lt;/p&gt;&lt;p style="background:#eaf1dd;"&gt;Open a Visual Studio Command prompt and type "&lt;span style="font-family:Courier New;"&gt;devenv /resetskippkgs&lt;/span&gt;". 
&lt;/p&gt;&lt;p&gt;Then try to create a new Silverlight project. This solution does work for me. I hope it also works for you. Thanks Bill ;)
&lt;/p&gt;&lt;img src="http://completit.com/communityserver/aggbug.aspx?PostID=1132" width="1" height="1"&gt;</description><category domain="http://completit.com/communityserver/blogs/estoychev/archive/tags/Silverlight/default.aspx">Silverlight</category></item><item><title>DataGridView Extension 1.1 Installation Update</title><link>http://completit.com/communityserver/blogs/dgve/archive/2007/11/30/datagridview-extension-1-1-installation-update.aspx</link><pubDate>Fri, 30 Nov 2007 10:08:00 GMT</pubDate><guid isPermaLink="false">456c5cc1-fe21-4ac2-8669-11477cec168e:1065</guid><dc:creator>iiordanov</dc:creator><slash:comments>0</slash:comments><description>&lt;P&gt;DataGridView Extension's installation and archive for download were updated.&lt;BR&gt;List of the fixed issues included in the new update:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Improved error handling in the Xml persistence;&lt;/LI&gt;
&lt;LI&gt;Fixed a bug in themes import functionality;&lt;/LI&gt;
&lt;LI&gt;Update of ‘Developers' guide’ and ‘End User Manual’;&lt;/LI&gt;
&lt;LI&gt;Fixed bug in Pdf export font mapping – the Extension could not embed in the generated pdf document&amp;nbsp;font which is a part of Font Type Collection file. Instead of that a default font is used;&lt;/LI&gt;
&lt;LI&gt;Other small fixes and improvements.&lt;/LI&gt;&lt;/UL&gt;&lt;img src="http://completit.com/communityserver/aggbug.aspx?PostID=1065" width="1" height="1"&gt;</description><category domain="http://completit.com/communityserver/blogs/dgve/archive/tags/1.1+Update/default.aspx">1.1 Update</category></item><item><title>DataGridView Extension 1.1 hit the streets with improvements, print and export to Pdf.</title><link>http://completit.com/communityserver/blogs/dgve/archive/2007/11/17/datagridview-extension-1-1-hit-the-streets-with-improvements-print-and-export-to-pdf.aspx</link><pubDate>Sat, 17 Nov 2007 18:58:00 GMT</pubDate><guid isPermaLink="false">456c5cc1-fe21-4ac2-8669-11477cec168e:820</guid><dc:creator>iiordanov</dc:creator><slash:comments>0</slash:comments><description>&lt;SPAN class=basetext id=ctl00_Content_dlstNews_ctl00_lblArticleText&gt;The new version of DataGridView Extension 1.1 has been relesed on time. In the new version you will find printing functionality, export to Pdf, many improvements and bug-fixes. You can download it from &lt;A class="" href="http://www.completit.com/Products/DGVE/Downloads.aspx"&gt;here&lt;/A&gt; or see the &lt;A href="http://www.completit.com/Products/DGVE/ChangeLog.aspx"&gt;change log&lt;/A&gt;.&lt;/SPAN&gt;&lt;img src="http://completit.com/communityserver/aggbug.aspx?PostID=820" width="1" height="1"&gt;</description><category domain="http://completit.com/communityserver/blogs/dgve/archive/tags/1.1+Release/default.aspx">1.1 Release</category></item><item><title>DataGridView Extension 1.1 will be released on the 13th of November 2007.</title><link>http://completit.com/communityserver/blogs/dgve/archive/2007/11/02/datagridview-extension-1-1-will-be-released-on-the-13th-of-november-2007.aspx</link><pubDate>Fri, 02 Nov 2007 15:01:00 GMT</pubDate><guid isPermaLink="false">456c5cc1-fe21-4ac2-8669-11477cec168e:422</guid><dc:creator>iiordanov</dc:creator><slash:comments>0</slash:comments><description>&lt;SPAN class=basetext id=ctl00_Content_dlstNews_ctl00_lblArticleText&gt;We are proud to announce that &lt;STRONG&gt;DataGridView Extension 1.1&lt;/STRONG&gt; will be released on the &lt;STRONG&gt;13th of November 2007&lt;/STRONG&gt;. This new version will contain new functionalities (such as Export &amp;amp; Import of themes, Print, Export to Pdf, UI Security and others) as well as fixes of issues reported by our users (thank you guys!). Developers guide will be also available for download, describing how to use, integrate, change and control the extension and its features in your applications.&lt;/SPAN&gt;&lt;img src="http://completit.com/communityserver/aggbug.aspx?PostID=422" width="1" height="1"&gt;</description><category domain="http://completit.com/communityserver/blogs/dgve/archive/tags/1.1+Release/default.aspx">1.1 Release</category></item><item><title>CompletIT at DevReach, Sofia, Bulgaria 1-2 October, 2007</title><link>http://completit.com/communityserver/blogs/idragoev/archive/2007/10/08/ms-sql-triggers-inserted-deleted-tables.aspx</link><pubDate>Mon, 08 Oct 2007 15:36:00 GMT</pubDate><guid isPermaLink="false">456c5cc1-fe21-4ac2-8669-11477cec168e:208</guid><dc:creator>idragoev</dc:creator><slash:comments>0</slash:comments><description>&lt;P&gt;At the beginning of October I have visited DevReach - the premier conference for Microsoft technologies in South Eastern Europe. I was on several lectures about MS SQL:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;What's New in SQL Server 2008 for Developers - by Vladi Tchalkov;&lt;/LI&gt;
&lt;LI&gt;T–SQL Querying: Tips and Techniques (With SQL 2008 features too) by Stephen Forte;&lt;/LI&gt;
&lt;LI&gt;Lino Does LINQ by Lino Tadros;&lt;/LI&gt;
&lt;LI&gt;Being Smart About Database Design by Vladi Tchalkov,&lt;/LI&gt;
&lt;LI&gt;100 Years of Transaction Solitude...Transactions and isolation levels by Ami Levin;&lt;/LI&gt;
&lt;LI&gt;SQL Server Service Broker - Your Gateway to the World of Transactional Asynchronicity by Ami Levin;&lt;/LI&gt;
&lt;LI&gt;Security and .NET by Hadi Hariri;&lt;/LI&gt;
&lt;LI&gt;Silverlight, Flash on Steroids by Lino Tadros.&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;What I appreciated most is the fact, that I had the chance to discuss different topics with the speakers. Most of them are experienced, well known in the community, with knowledge about the cutting-edge MS technologies.&lt;/P&gt;
&lt;P&gt;I’m looking forward to meeting the guys again.&lt;BR&gt;&lt;/P&gt;&lt;img src="http://completit.com/communityserver/aggbug.aspx?PostID=208" width="1" height="1"&gt;</description><category domain="http://completit.com/communityserver/blogs/idragoev/archive/tags/DevReach/default.aspx">DevReach</category></item><item><title>DGV Extension's installation and archive for download were updated #2</title><link>http://completit.com/communityserver/blogs/dgve/archive/2007/09/15/dgv-extension-s-installation-and-archive-for-download-were-updated-2.aspx</link><pubDate>Sat, 15 Sep 2007 08:13:00 GMT</pubDate><guid isPermaLink="false">456c5cc1-fe21-4ac2-8669-11477cec168e:106</guid><dc:creator>iiordanov</dc:creator><slash:comments>0</slash:comments><description>&lt;P&gt;&lt;SPAN class=basetext id=ctl00_Content_dlstNews_ctl02_lblArticleShortText&gt;Now you can download our latest installation\archive with&amp;nbsp;improved&amp;nbsp;export to Excel.&lt;BR&gt;An&amp;nbsp;issue was found and&amp;nbsp;described by one of our users in the &lt;A class="" href="http://completit.com/communityserver/forums/permalink/72/99/ShowThread.aspx#99"&gt;following topic&lt;/A&gt;.&lt;BR&gt;&lt;BR&gt;Please note that if you already have DataGridView Extension downloaded you do not need to download it again but just the assembly &lt;A href="http://completit.com/DownloadFile.aspx?file=DGVEExcelExporting.dll"&gt;'DGVEExcelExporter.dll'&lt;/A&gt; and replace the old one you already have.&lt;/SPAN&gt;&lt;/P&gt;&lt;img src="http://completit.com/communityserver/aggbug.aspx?PostID=106" width="1" height="1"&gt;</description><category domain="http://completit.com/communityserver/blogs/dgve/archive/tags/Excel/default.aspx">Excel</category></item><item><title>SilverlightShow.net - Silverlight Community</title><link>http://completit.com/communityserver/blogs/estoychev/archive/2007/09/01/silverlightshow-net-silverlight-community.aspx</link><pubDate>Sat, 01 Sep 2007 15:12:00 GMT</pubDate><guid isPermaLink="false">456c5cc1-fe21-4ac2-8669-11477cec168e:89</guid><dc:creator>estoychev</dc:creator><slash:comments>0</slash:comments><description>&lt;P&gt;Today we've published our first beta of &lt;A class="" href="http://www.silverlightshow.net/"&gt;SilverlightShow&lt;/A&gt;.&amp;nbsp;It is a&amp;nbsp;website that provides regular&amp;nbsp;aggregation and classification of the&amp;nbsp;information related to&amp;nbsp;Silverlight available all over the Internet. We will get interviews, make video/audio/screen casts, write articles, provide samples; we will try to bring to you the hottest articles around Silverlight. As it is still a beta version there are no benefits to be a member of the community but soon we will provide functionalities to publish your own articles.&lt;/P&gt;
&lt;P&gt;Currently we aggregate news from different sources - blogs, user groups, etc. We categorize the information carefully and let you see only the valuable pieces of it. Probably now you use RSS/Atom feeds or &lt;A class="" href="http://www.google.com/alerts"&gt;Google Alerts&lt;/A&gt; or &lt;A class="" href="http://blogsearch.google.com/"&gt;Google Blog Search&lt;/A&gt; to stay in touch with the latest news around Silverlight. Yes, we also use these 'tools'. We also check the official &lt;A class="" href="http://silverlight.net/"&gt;Microsoft Silverlight Community&lt;/A&gt; site. We know about all of them. But we&amp;nbsp;strongly believe that&amp;nbsp;we can offer you more&amp;nbsp;- a better experience to stay tuned with Silverlight.&lt;/P&gt;
&lt;P&gt;I hope you will&amp;nbsp;see in&amp;nbsp;SilverlightShow a great place to learn and discuss things about Silverlight.&lt;/P&gt;&lt;img src="http://completit.com/communityserver/aggbug.aspx?PostID=89" width="1" height="1"&gt;</description><category domain="http://completit.com/communityserver/blogs/estoychev/archive/tags/Silverlight/default.aspx">Silverlight</category><category domain="http://completit.com/communityserver/blogs/estoychev/archive/tags/SilverlightShow/default.aspx">SilverlightShow</category></item><item><title>ASP.NET 2.0 issues: Validation of viewstate MAC failed</title><link>http://completit.com/communityserver/blogs/estoychev/archive/2007/08/31/asp-net-2-0-issues-validation-of-viewstate-mac-failed.aspx</link><pubDate>Fri, 31 Aug 2007 11:44:00 GMT</pubDate><guid isPermaLink="false">456c5cc1-fe21-4ac2-8669-11477cec168e:87</guid><dc:creator>estoychev</dc:creator><slash:comments>0</slash:comments><description>&lt;P&gt;Have you ever experienced such error? Well, today I did. It is not easy to get it - you have to browse too quickly trough pages (or in one page) and click buttons (causing postback). Yep, sounds strange. The point is that if you have a page, with lets say just a text box and a button, and you push that button quickly you will probably get this error - especially if you do it with slow connection or at least not on your local machine. &lt;/P&gt;
&lt;P&gt;I would reccommend reading &lt;A class="" href="http://forums.asp.net/t/955145.aspx"&gt;this thread&lt;/A&gt; in ASP.NET forums if you want to learn more about this error and want a solution (or a workaround).&lt;/P&gt;&lt;img src="http://completit.com/communityserver/aggbug.aspx?PostID=87" width="1" height="1"&gt;</description><category domain="http://completit.com/communityserver/blogs/estoychev/archive/tags/asp.net/default.aspx">asp.net</category></item><item><title>DGV Extension's installation and archive for download were updated</title><link>http://completit.com/communityserver/blogs/dgve/archive/2007/08/31/dgv-extension-s-installation-and-archive-for-download-were-updated.aspx</link><pubDate>Fri, 31 Aug 2007 11:32:00 GMT</pubDate><guid isPermaLink="false">456c5cc1-fe21-4ac2-8669-11477cec168e:86</guid><dc:creator>iiordanov</dc:creator><slash:comments>0</slash:comments><description>Now you can download our latest installation\archive with improved file structure and sample project in C#.&lt;img src="http://completit.com/communityserver/aggbug.aspx?PostID=86" width="1" height="1"&gt;</description><category domain="http://completit.com/communityserver/blogs/dgve/archive/tags/DataGridView+Extension/default.aspx">DataGridView Extension</category><category domain="http://completit.com/communityserver/blogs/dgve/archive/tags/Installation/default.aspx">Installation</category></item><item><title>DataGridView Extension 1.0. Release</title><link>http://completit.com/communityserver/blogs/dgve/archive/2007/08/17/datagridview-extension-1-0-release.aspx</link><pubDate>Fri, 17 Aug 2007 12:27:00 GMT</pubDate><guid isPermaLink="false">456c5cc1-fe21-4ac2-8669-11477cec168e:47</guid><dc:creator>idragoev</dc:creator><slash:comments>0</slash:comments><description>&lt;P&gt;When Microsoft released .NET framework 2.0 the DataGrid control was replaced by DataGridView, which allows the developers to control better the way the data is presented&amp;nbsp;by creation&amp;nbsp;of much more user friendly views, but even in DataGridView control&amp;nbsp;there is missing functionality.&lt;BR&gt;&lt;BR&gt;And here is where the DataGridView Extension component comes,&amp;nbsp;it is absolutely free and extends the functionality of the standard DataGridView control by adding themes support,&amp;nbsp;searching data, export to Excel and HTML, etc.&lt;BR&gt;&lt;BR&gt;Moreover, DataGridView Extension allow end-users to control the whole appearance at run time – columns size and order, formatting, colors, borders, etc.&lt;BR&gt;&lt;BR&gt;The developers can easily integrate DataGridView Extension in their existing application in two simple steps:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Add reference to DataGridViewExtension.dll and the dll for exporting to Excel (DGVEExcelExporting.dll) and to HTML (DGVEHtmlExporting.dll) if needed.&lt;/LI&gt;
&lt;LI&gt;&amp;nbsp;Drag &amp;amp; drop DataGridView Extension Component on your root container from the toolbox then select the grid you wish to manage and set the value of its property ‘IsManagedByExtension’ to true&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;&lt;BR&gt;As a conclusion we can say that the&amp;nbsp;DataGridView Extension brings direct, visible, benefits to the applications’ end-users by giving them control over the presentation of the data at run-time as well as export to external well known formats.&lt;/P&gt;
&lt;P&gt;You can learn more about DataGridView Extension &lt;A class="" title=here href="http://www.completit.com/Products/DGVE/Overview.aspx"&gt;here&lt;/A&gt;.&lt;/P&gt;&lt;img src="http://completit.com/communityserver/aggbug.aspx?PostID=47" width="1" height="1"&gt;</description><category domain="http://completit.com/communityserver/blogs/dgve/archive/tags/DataGridView+Extension/default.aspx">DataGridView Extension</category><category domain="http://completit.com/communityserver/blogs/dgve/archive/tags/HTML/default.aspx">HTML</category><category domain="http://completit.com/communityserver/blogs/dgve/archive/tags/Extension/default.aspx">Extension</category><category domain="http://completit.com/communityserver/blogs/dgve/archive/tags/Excel/default.aspx">Excel</category><category domain="http://completit.com/communityserver/blogs/dgve/archive/tags/Export/default.aspx">Export</category><category domain="http://completit.com/communityserver/blogs/dgve/archive/tags/Run-time/default.aspx">Run-time</category><category domain="http://completit.com/communityserver/blogs/dgve/archive/tags/DataGridView+Customization/default.aspx">DataGridView Customization</category><category domain="http://completit.com/communityserver/blogs/dgve/archive/tags/DataGridView/default.aspx">DataGridView</category><category domain="http://completit.com/communityserver/blogs/dgve/archive/tags/.NET+2.0/default.aspx">.NET 2.0</category></item><item><title>Composite Design Pattern in C#</title><link>http://completit.com/communityserver/blogs/ppopadiyn/archive/2007/08/02/composite-design-pattern-in-c.aspx</link><pubDate>Thu, 02 Aug 2007 16:08:00 GMT</pubDate><guid isPermaLink="false">456c5cc1-fe21-4ac2-8669-11477cec168e:38</guid><dc:creator>ppopadiyn</dc:creator><slash:comments>3364</slash:comments><description>&lt;OL&gt;
&lt;LI&gt;&lt;STRONG&gt;Introduction&lt;/STRONG&gt;&lt;/LI&gt;&lt;/OL&gt;
&lt;P&gt;The composite pattern is very simple pattern that has significant implication. The fundamental structure of the Composite pattern is shown on the next figure:&lt;/P&gt;
&lt;P align=center&gt;&lt;A href="http://completit.com/communityserver/blogs/ppopadiyn/WindowsLiveWriter/CompositeDesignPatterninC_FEB8/FundamentalStructure%5B23%5D.gif"&gt;&lt;IMG style="WIDTH:532px;HEIGHT:230px;" height=234 src="http://completit.com/communityserver/blogs/ppopadiyn/WindowsLiveWriter/CompositeDesignPatterninC_FEB8/FundamentalStructure_thumb%5B21%5D.gif" width=506 align=right&gt;&lt;/A&gt; &lt;/P&gt;
&lt;P align=left&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;The base class Shape has two inheritors: Rectangle and Ellipse. The third inheritor is the composite. ComposeShapes holds a list of Shapes. An instance of ComposeShapes appears to be a single Shape. It can be passed to any function that takes a Shape, and it will behave like one.&lt;/P&gt;
&lt;P&gt;2. &lt;STRONG&gt;Implementation&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;There are different implementations of the Composite pattern. I will show you one of them with the following example. Consider the following situation. Imagine we have a small company, which started with a single person (the boss). After some period of time&amp;nbsp;he hired three people to help him with the business. Two of them became vice-presidents and the third&amp;nbsp;became the finance manager (for example). Soon each of them hired new staff. As the success continues the company grows&amp;nbsp;till the following sample structure is reached:&lt;/P&gt;
&lt;P align=center&gt;&lt;A href="http://completit.com/communityserver/blogs/ppopadiyn/WindowsLiveWriter/CompositeDesignPatterninC_FEB8/OrgStructure%5B8%5D.gif"&gt;&lt;IMG height=290 src="http://completit.com/communityserver/blogs/ppopadiyn/WindowsLiveWriter/CompositeDesignPatterninC_FEB8/OrgStructure_thumb%5B4%5D.gif" width=536&gt;&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;&lt;B&gt;2.1 The &lt;I&gt;IEmployee&lt;/I&gt; interface.&lt;/B&gt; 
&lt;P&gt;&lt;B&gt;&lt;/B&gt;Each of the company members should receive a salary, have a boss and subordinates and should of course have some specific position. So in that case we will define a single interface named &lt;I&gt;IEmployee&lt;/I&gt; that will declare all actions that&amp;nbsp;each&amp;nbsp;company member could implement. 
&lt;P&gt;&lt;FONT color=#0000ff&gt;public interface&lt;/FONT&gt; &lt;FONT color=#008080&gt;IEmployee&lt;BR&gt;&lt;/FONT&gt;{&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;FONT color=#0000ff&gt;string&lt;/FONT&gt; Name { &lt;FONT color=#0000ff&gt;get&lt;/FONT&gt;; &lt;FONT color=#0000ff&gt;set&lt;/FONT&gt;; } &lt;FONT color=#80ff80&gt;&lt;I&gt;&lt;FONT color=#008000&gt;// get name&lt;BR&gt;&lt;/FONT&gt;&lt;/I&gt;&lt;/FONT&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;FONT color=#0000ff&gt;decimal&lt;/FONT&gt; PricePerHour { &lt;FONT color=#0000ff&gt;get&lt;/FONT&gt;; &lt;FONT color=#0000ff&gt;set&lt;/FONT&gt;; }&amp;nbsp;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;FONT color=#008080&gt;Position&lt;/FONT&gt; Position { &lt;FONT color=#0000ff&gt;get&lt;/FONT&gt;; &lt;FONT color=#0000ff&gt;set&lt;/FONT&gt;; }&amp;nbsp; &lt;FONT color=#008000&gt;// get position&lt;/FONT&gt;&amp;nbsp;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;FONT color=#008080&gt;IEmployee&lt;/FONT&gt; Boss { &lt;FONT color=#0000ff&gt;get&lt;/FONT&gt;; &lt;FONT color=#0000ff&gt;set&lt;/FONT&gt;; } &lt;FONT color=#008000&gt;// get boss&lt;BR&gt;&lt;/FONT&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;FONT color=#008080&gt; List&amp;lt;IEmployee&amp;gt;&lt;/FONT&gt; Subordinates { &lt;FONT color=#0000ff&gt;get&lt;/FONT&gt;; }&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;FONT color=#0000ff&gt;decimal&lt;/FONT&gt; GetSalary( &lt;FONT color=#0000ff&gt;decimal&lt;/FONT&gt; workHours ); &lt;FONT color=#008000&gt;// get salary&lt;BR&gt;&lt;/FONT&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;FONT color=#0000ff&gt;void&lt;/FONT&gt; Add( &lt;FONT color=#008080&gt;IEmployee&lt;/FONT&gt; employee );&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;FONT color=#0000ff&gt;void&lt;/FONT&gt; Remove( &lt;FONT color=#008080&gt;IEmployee&lt;/FONT&gt; employee );&lt;BR&gt;} &lt;/P&gt;
&lt;P&gt;Note that I have declared two additional methods (Add and Remove) in the &lt;I&gt;IEmployee&lt;/I&gt; interface which functions&amp;nbsp;are&amp;nbsp;for adding and removing subordinates. These two functions are quite IMPORTANT, because they may cause overhead of the developer who design the Composite pattern. Why? I will discuss later. Now let’s come back to our implementation. I will define an enumerated type to create a structured set of constants that will represent some available positions in the company. 
&lt;P&gt;&lt;FONT color=#0000ff&gt;public enum&lt;/FONT&gt; &lt;FONT color=#008080&gt;Position&lt;BR&gt;&lt;/FONT&gt;{&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; None,&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Boss,&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; VicePresident,&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Secretary,&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; MainManager,&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SalesManager,&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Cleaner&lt;BR&gt;} 
&lt;P&gt;&lt;B&gt;2.2 BaseEmployee class.&lt;/B&gt; 
&lt;P&gt;&lt;B&gt;&lt;/B&gt;Next we will implement our concrete BaseEmployee class that will store the name, salary (price per hour), position, parent (boss) and subordinates of the employee.&lt;BR&gt;&lt;FONT color=#0000ff&gt;&lt;BR&gt;public class&lt;/FONT&gt; &lt;FONT color=#008080&gt;BaseEmployee&lt;/FONT&gt; : &lt;FONT color=#008080&gt;IEmployee&lt;BR&gt;&lt;/FONT&gt;{&lt;BR&gt;&lt;FONT color=#0000ff&gt;&lt;FONT color=#000000&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/FONT&gt;private&lt;/FONT&gt; &lt;FONT color=#0000ff&gt;string&lt;/FONT&gt; name;&lt;BR&gt;&lt;FONT color=#0000ff&gt;&lt;FONT color=#000000&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/FONT&gt;private&lt;/FONT&gt; &lt;FONT color=#0000ff&gt;decimal&lt;/FONT&gt; pricePerHour;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;FONT color=#0000ff&gt;private&lt;/FONT&gt; &lt;FONT color=#008080&gt;Position&lt;/FONT&gt; position;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;FONT color=#0000ff&gt;private&lt;/FONT&gt; &lt;FONT color=#008080&gt;IEmployee&lt;/FONT&gt; boss;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;FONT color=#0000ff&gt;private&lt;/FONT&gt; &lt;FONT color=#008080&gt;List&lt;/FONT&gt;&amp;lt;&lt;FONT color=#008080&gt;IEmployee&lt;/FONT&gt; &amp;gt; subordinates = &lt;FONT color=#0000ff&gt;new&lt;/FONT&gt; &lt;FONT color=#008080&gt;List&lt;/FONT&gt;&amp;lt;&lt;FONT color=#008080&gt;IEmployee&lt;/FONT&gt; &amp;gt;();&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;FONT color=#0000ff&gt;public &lt;/FONT&gt;BaseEmployee( &lt;FONT color=#0000ff&gt;string&lt;/FONT&gt; name, &lt;FONT color=#0000ff&gt;decimal&lt;/FONT&gt; pricePerHour, &lt;FONT color=#008080&gt;IEmployee&lt;/FONT&gt; boss, &lt;FONT color=#008080&gt;Position&lt;/FONT&gt; position )&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{ &lt;FONT color=#008000&gt;// Intialize all private fields ............&lt;/FONT&gt;&amp;nbsp;}&lt;BR&gt;&lt;FONT color=#008040&gt;&lt;FONT color=#000000&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/FONT&gt;// Properties ......................&lt;BR&gt;&lt;/FONT&gt;&lt;FONT color=#000000&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/FONT&gt;&lt;FONT color=#0000ff&gt;public virtual&lt;/FONT&gt; &lt;FONT color=#0000ff&gt;void&lt;/FONT&gt; Add( &lt;FONT color=#008080&gt;IEmployee&lt;/FONT&gt; employee )&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;BR&gt;&lt;FONT color=#0000ff&gt;&lt;FONT color=#000000&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/FONT&gt;throw new&lt;/FONT&gt; &lt;FONT color=#008080&gt;InvalidOperationException&lt;/FONT&gt;( "&lt;FONT color=#804040&gt;Cannot add in base employee class&lt;/FONT&gt;" );&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;FONT color=#0000ff&gt;public &lt;/FONT&gt;&lt;FONT color=#0000ff&gt;virtual&lt;/FONT&gt; &lt;FONT color=#0000ff&gt;void&lt;/FONT&gt; Remove( &lt;FONT color=#008080&gt;IEmployee&lt;/FONT&gt; employee )&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;FONT color=#0000ff&gt;throw new&lt;/FONT&gt; &lt;FONT color=#008080&gt;InvalidOperationException&lt;/FONT&gt;( "&lt;FONT color=#804040&gt;Cannot remove from base employee clase&lt;/FONT&gt;" );&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;FONT color=#0000ff&gt;public &lt;/FONT&gt;&lt;FONT color=#0000ff&gt;virtual&lt;/FONT&gt; &lt;FONT color=#0000ff&gt;decimal&lt;/FONT&gt; GetSalary( &lt;FONT color=#0000ff&gt;decimal&lt;/FONT&gt; workHours )&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;FONT color=#0000ff&gt;return&lt;/FONT&gt; workHours * pricePerHour;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR&gt;} 
&lt;P&gt;It is obvious that the aim of the private field ‘subordinates’ is to keep a reference to each subordinate in the Collection of each Employee class. It also allows us to move downwards the chain from the president to each employee. But to keep our structure&amp;nbsp;flexible enough&amp;nbsp;we also need to move backwards to find out who an employee’s boss is. This is easy to implement, we just provide a constructor for each subclass that includes reference to the parent node - his/her boss. Of course for the boss of the company we will just pass ‘null’ to the constructor. The GetSalary method just gives us the salary of each employee. We also define some casual properties. Note that we do not implement the two problematic methods ‘Add’ and ‘Remove’, we only&amp;nbsp;throw an exception in case these methods are called&amp;nbsp;in the base employee class. 
&lt;P&gt;&lt;B&gt;2.3 Employee class.&lt;/B&gt; 
&lt;P&gt;&lt;B&gt;&lt;/B&gt;Our Employee class is a subclass of BaseEmployee and allow us to store subordinate employees as well. We will store them in generic List, named subordinates. 
&lt;P&gt;&lt;FONT color=#0000ff&gt;class&lt;/FONT&gt; &lt;FONT color=#008080&gt;Employee&lt;/FONT&gt; : &lt;FONT color=#008080&gt;BaseEmployee&lt;BR&gt;&lt;/FONT&g