<?xml version="1.0" encoding="utf-8"?>
<rss xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:pingback="http://madskills.com/public/xml/rss/module/pingback/" version="2.0">
  <channel>
    <title>Manuel Abadia's ASP.NET stuff - SEO</title>
    <link>http://www.manuelabadia.com/blog/</link>
    <description />
    <language>en-us</language>
    <copyright>Manuel Abadia</copyright>
    <lastBuildDate>Thu, 04 Dec 2008 19:26:16 GMT</lastBuildDate>
    <generator>newtelligence dasBlog 1.9.6264.0</generator>
    <managingEditor>blogcomments@manuelabadia.com</managingEditor>
    <webMaster>blogcomments@manuelabadia.com</webMaster>
    <item>
      <trackback:ping>http://www.manuelabadia.com/blog/Trackback.aspx?guid=7924eaf8-b406-43af-9444-b816f6dfa246</trackback:ping>
      <pingback:server>http://www.manuelabadia.com/blog/pingback.aspx</pingback:server>
      <pingback:target>http://www.manuelabadia.com/blog/PermaLink,guid,7924eaf8-b406-43af-9444-b816f6dfa246.aspx</pingback:target>
      <dc:creator>Your DisplayName here!</dc:creator>
      <wfw:comment>http://www.manuelabadia.com/blog/CommentView,guid,7924eaf8-b406-43af-9444-b816f6dfa246.aspx</wfw:comment>
      <wfw:commentRss>http://www.manuelabadia.com/blog/SyndicationService.asmx/GetEntryCommentsRss?guid=7924eaf8-b406-43af-9444-b816f6dfa246</wfw:commentRss>
      <slash:comments>12</slash:comments>
      <title>Search Engine Optimization - Moving View State to the bottom of the page</title>
      <guid isPermaLink="false">http://www.manuelabadia.com/blog/PermaLink,guid,7924eaf8-b406-43af-9444-b816f6dfa246.aspx</guid>
      <link>http://www.manuelabadia.com/blog/PermaLink,guid,7924eaf8-b406-43af-9444-b816f6dfa246.aspx</link>
      <pubDate>Thu, 04 Dec 2008 19:26:16 GMT</pubDate>
      <description>&lt;p&gt;
One of the greatest problems when trying to optimize an ASP.NET page to be more search
engine friendly is the view state hidden field. Most search engines give more score
to the content of the firsts thousands of bytes of the document so if your first 2
KB are view state junk your pages are penalized. So the goal here is to move the view
state data as down as possible. 
&lt;/p&gt;
&lt;p&gt;
I have seen some approaches to solve this problem rewriting the final HTML code of
the response. While this approach works I think that it wastes some precious processor
cycles that can be used to do other things. So I needed a way to do the same thing
without wasting that CPU time. After some large reflector sessions I found a way to
do it. My method uses the ASP.NET Control Adapter Architecture. 
&lt;/p&gt;
&lt;p&gt;
A control adapter is a class that can be used to control the HTML generated by the
control it adapts. Since the Page class is the responsible of rendering the view state
hidden field (Page.BeginFormRender calls Page.RenderViewStateFields), an adapter for
the Page is needed. However, the view state hidden field plays a key role in the ASP.NET
infrastructure (for example, the Page.IsPostBack property checks if the view state
hidden field has been posted) and it is difficult to modify the associated HTML. 
&lt;/p&gt;
&lt;p&gt;
A PageAdapter has a method called GetStatePersister() that returns an object that
inherits from PageStatePersister. The PageStatePersister is called when it is time
to load and save the view state. There are 2 classes that inherit from PageStatePersister:
HiddenFieldPageStatePersister and SessionPageStatePersister. The first one is the
default, which stores the view state in the hidden field called __VIEWSTATE. The second
one stores the view state in the session. So, we can easily create a custom PageStatePersister
to control the view state load and save process. The big problem is how to create
the hidden view state field before the closing form tag while being a fully transparent
solution. After some tries I came up with a solution that I was happy with. 
&lt;/p&gt;
&lt;p&gt;
I realized that it was impossible to completely remove the view state hidden field
from the top of the page, because it plays a key role in the ASP.NET infrastructure.
However, with any custom page state persister the ASP.NET infrastructure renders at
least an empty view state hidden field of only 70 bytes: 
&lt;/p&gt;
&lt;div class=html4strict style="BORDER-RIGHT: #d0d0d0 1px solid; BORDER-TOP: #d0d0d0 1px solid; BORDER-LEFT: #d0d0d0 1px solid; COLOR: #006; BORDER-BOTTOM: #d0d0d0 1px solid; FONT-FAMILY: monospace; BACKGROUND-COLOR: #f0f0f0"&gt;&lt;span style="COLOR: #009900"&gt;&amp;lt;&lt;a style="COLOR: #000060" href="http://december.com/html/4/element/input.html"&gt;&lt;span style="FONT-WEIGHT: bold; COLOR: #000000"&gt;input&lt;/span&gt;&lt;/a&gt; &lt;span style="COLOR: #000066"&gt;type&lt;/span&gt;&lt;span style="COLOR: #66cc66"&gt;=&lt;/span&gt;&lt;span style="COLOR: #ff0000"&gt;"hidden"&lt;/span&gt; &lt;span style="COLOR: #000066"&gt;name&lt;/span&gt;&lt;span style="COLOR: #66cc66"&gt;=&lt;/span&gt;&lt;span style="COLOR: #ff0000"&gt;"__VIEWSTATE"&lt;/span&gt; &lt;span style="COLOR: #000066"&gt;id&lt;/span&gt;&lt;span style="COLOR: #66cc66"&gt;=&lt;/span&gt;&lt;span style="COLOR: #ff0000"&gt;"__VIEWSTATE"&lt;/span&gt; &lt;span style="COLOR: #000066"&gt;value&lt;/span&gt;&lt;span style="COLOR: #66cc66"&gt;=&lt;/span&gt;&lt;span style="COLOR: #ff0000"&gt;""&lt;/span&gt; &lt;span style="COLOR: #66cc66"&gt;/&lt;/span&gt;&amp;gt;&lt;/span&gt;
&lt;/div&gt;
&lt;p&gt;
&amp;nbsp;
&lt;/p&gt;
&lt;p&gt;
My page adapter adds a hidden field to the bottom of the form called __SEOVIEWSTATE
with the actual view state data, and the only limitation that it has it is that you
can not use &lt;% %&gt;expressions directly inside the asp.net form. However, this restriction
can be easily avoided putting the &lt;% %&gt;expression in a PlaceHolder control or inside
another control. For an in-depth explanation of this limitation take a look &lt;a href="http://www.west-wind.com/WebLog/posts/6148.aspx"&gt;here&lt;/a&gt;.
&lt;/p&gt;
&lt;p&gt;
Let’s see an example of the adapter in action. The following ASP.NET page: 
&lt;/p&gt;
&lt;div class=xml style="BORDER-RIGHT: #d0d0d0 1px solid; BORDER-TOP: #d0d0d0 1px solid; BORDER-LEFT: #d0d0d0 1px solid; COLOR: #006; BORDER-BOTTOM: #d0d0d0 1px solid; FONT-FAMILY: monospace; BACKGROUND-COLOR: #f0f0f0"&gt;&lt;span style="COLOR: #009900"&gt;&lt;span style="FONT-WEIGHT: bold; COLOR: #000000"&gt;&amp;lt;&lt;/span&gt;%@
Page &lt;span style="COLOR: #000066"&gt;Language&lt;/span&gt;=&lt;span style="COLOR: #ff0000"&gt;"C#"&lt;/span&gt; &lt;span style="COLOR: #000066"&gt;AutoEventWireup&lt;/span&gt;=&lt;span style="COLOR: #ff0000"&gt;"true"&lt;/span&gt; &lt;span style="COLOR: #000066"&gt;CodeBehind&lt;/span&gt;=&lt;span style="COLOR: #ff0000"&gt;"Default.aspx.cs"&lt;/span&gt; &lt;span style="COLOR: #000066"&gt;Inherits&lt;/span&gt;=&lt;span style="COLOR: #ff0000"&gt;"SEOViewStateAdapterTest._Default"&lt;/span&gt; %&lt;span style="FONT-WEIGHT: bold; COLOR: #000000"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;
&lt;br&gt;
&lt;span style="COLOR: #00bbdd"&gt;&amp;lt;!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"&amp;gt;&lt;/span&gt;
&lt;br&gt;
&lt;br&gt;
&lt;span style="COLOR: #009900"&gt;&lt;span style="FONT-WEIGHT: bold; COLOR: #000000"&gt;&amp;lt;html&lt;/span&gt; &lt;span style="COLOR: #000066"&gt;xmlns&lt;/span&gt;=&lt;span style="COLOR: #ff0000"&gt;"http://www.w3.org/1999/xhtml"&lt;/span&gt; &lt;span style="FONT-WEIGHT: bold; COLOR: #000000"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;
&lt;br&gt;
&lt;span style="COLOR: #009900"&gt;&lt;span style="FONT-WEIGHT: bold; COLOR: #000000"&gt;&amp;lt;head&lt;/span&gt; &lt;span style="COLOR: #000066"&gt;runat&lt;/span&gt;=&lt;span style="COLOR: #ff0000"&gt;"server"&lt;/span&gt;&lt;span style="FONT-WEIGHT: bold; COLOR: #000000"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;
&lt;br&gt;
&amp;nbsp; &amp;nbsp; &lt;span style="COLOR: #009900"&gt;&lt;span style="FONT-WEIGHT: bold; COLOR: #000000"&gt;&amp;lt;title&lt;span style="FONT-WEIGHT: bold; COLOR: #000000"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="FONT-WEIGHT: bold; COLOR: #000000"&gt;&amp;lt;/title&lt;span style="FONT-WEIGHT: bold; COLOR: #000000"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;br&gt;
&lt;span style="COLOR: #009900"&gt;&lt;span style="FONT-WEIGHT: bold; COLOR: #000000"&gt;&amp;lt;/head&lt;span style="FONT-WEIGHT: bold; COLOR: #000000"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;br&gt;
&lt;span style="COLOR: #009900"&gt;&lt;span style="FONT-WEIGHT: bold; COLOR: #000000"&gt;&amp;lt;body&lt;span style="FONT-WEIGHT: bold; COLOR: #000000"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;br&gt;
&amp;nbsp; &amp;nbsp; &lt;span style="COLOR: #009900"&gt;&lt;span style="FONT-WEIGHT: bold; COLOR: #000000"&gt;&amp;lt;form&lt;/span&gt; &lt;span style="COLOR: #000066"&gt;id&lt;/span&gt;=&lt;span style="COLOR: #ff0000"&gt;"form1"&lt;/span&gt; &lt;span style="COLOR: #000066"&gt;runat&lt;/span&gt;=&lt;span style="COLOR: #ff0000"&gt;"server"&lt;/span&gt;&lt;span style="FONT-WEIGHT: bold; COLOR: #000000"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;
&lt;br&gt;
&amp;nbsp; &amp;nbsp; &lt;span style="COLOR: #009900"&gt;&lt;span style="FONT-WEIGHT: bold; COLOR: #000000"&gt;&amp;lt;div&lt;span style="FONT-WEIGHT: bold; COLOR: #000000"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;br&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Enter a message: &lt;span style="COLOR: #009900"&gt;&lt;span style="FONT-WEIGHT: bold; COLOR: #000000"&gt;&amp;lt;br&lt;/span&gt; &lt;span style="FONT-WEIGHT: bold; COLOR: #000000"&gt;/&amp;gt;&lt;/span&gt;&lt;/span&gt;
&lt;br&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="COLOR: #009900"&gt;&lt;span style="FONT-WEIGHT: bold; COLOR: #000000"&gt;&amp;lt;asp:TextBox&lt;/span&gt; &lt;span style="COLOR: #000066"&gt;ID&lt;/span&gt;=&lt;span style="COLOR: #ff0000"&gt;"txtMessage"&lt;/span&gt; &lt;span style="COLOR: #000066"&gt;runat&lt;/span&gt;=&lt;span style="COLOR: #ff0000"&gt;"server"&lt;/span&gt;&lt;span style="FONT-WEIGHT: bold; COLOR: #000000"&gt;&amp;gt;&lt;/span&gt;&lt;span style="FONT-WEIGHT: bold; COLOR: #000000"&gt;&amp;lt;/asp:TextBox&lt;span style="FONT-WEIGHT: bold; COLOR: #000000"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="FONT-WEIGHT: bold; COLOR: #000000"&gt;&amp;lt;br&lt;/span&gt; &lt;span style="FONT-WEIGHT: bold; COLOR: #000000"&gt;/&amp;gt;&lt;/span&gt;&lt;/span&gt;
&lt;br&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="COLOR: #009900"&gt;&lt;span style="FONT-WEIGHT: bold; COLOR: #000000"&gt;&amp;lt;asp:Button&lt;/span&gt; &lt;span style="COLOR: #000066"&gt;ID&lt;/span&gt;=&lt;span style="COLOR: #ff0000"&gt;"bSaveMessage"&lt;/span&gt; &lt;span style="COLOR: #000066"&gt;runat&lt;/span&gt;=&lt;span style="COLOR: #ff0000"&gt;"server"&lt;/span&gt; &lt;span style="COLOR: #000066"&gt;Text&lt;/span&gt;=&lt;span style="COLOR: #ff0000"&gt;"Save
Message"&lt;/span&gt; &lt;span style="COLOR: #000066"&gt;onclick&lt;/span&gt;=&lt;span style="COLOR: #ff0000"&gt;"bSaveMessage_Click"&lt;/span&gt; &lt;span style="FONT-WEIGHT: bold; COLOR: #000000"&gt;/&amp;gt;&lt;/span&gt;&lt;span style="FONT-WEIGHT: bold; COLOR: #000000"&gt;&amp;lt;br&lt;/span&gt; &lt;span style="FONT-WEIGHT: bold; COLOR: #000000"&gt;/&amp;gt;&lt;/span&gt;&lt;/span&gt;
&lt;br&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="COLOR: #009900"&gt;&lt;span style="FONT-WEIGHT: bold; COLOR: #000000"&gt;&amp;lt;asp:Label&lt;/span&gt; &lt;span style="COLOR: #000066"&gt;ID&lt;/span&gt;=&lt;span style="COLOR: #ff0000"&gt;"lMessage"&lt;/span&gt; &lt;span style="COLOR: #000066"&gt;runat&lt;/span&gt;=&lt;span style="COLOR: #ff0000"&gt;"server"&lt;/span&gt;&lt;span style="FONT-WEIGHT: bold; COLOR: #000000"&gt;&amp;gt;&lt;/span&gt;&lt;span style="FONT-WEIGHT: bold; COLOR: #000000"&gt;&amp;lt;/asp:Label&lt;span style="FONT-WEIGHT: bold; COLOR: #000000"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="FONT-WEIGHT: bold; COLOR: #000000"&gt;&amp;lt;br&lt;/span&gt; &lt;span style="FONT-WEIGHT: bold; COLOR: #000000"&gt;/&amp;gt;&lt;/span&gt;&lt;/span&gt;
&lt;br&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="COLOR: #009900"&gt;&lt;span style="FONT-WEIGHT: bold; COLOR: #000000"&gt;&amp;lt;p&lt;span style="FONT-WEIGHT: bold; COLOR: #000000"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;Page
generated at &lt;span style="COLOR: #009900"&gt;&lt;span style="FONT-WEIGHT: bold; COLOR: #000000"&gt;&amp;lt;asp:PlaceHolder&lt;/span&gt; &lt;span style="COLOR: #000066"&gt;ID&lt;/span&gt;=&lt;span style="COLOR: #ff0000"&gt;"PlaceHolder1"&lt;/span&gt; &lt;span style="COLOR: #000066"&gt;runat&lt;/span&gt;=&lt;span style="COLOR: #ff0000"&gt;"server"&lt;/span&gt;&lt;span style="FONT-WEIGHT: bold; COLOR: #000000"&gt;&amp;gt;&lt;/span&gt;&lt;span style="FONT-WEIGHT: bold; COLOR: #000000"&gt;&amp;lt;&lt;/span&gt;%=
DateTime.Now.ToString&lt;span style="COLOR: #66cc66"&gt;(&lt;/span&gt;&lt;span style="COLOR: #ff0000"&gt;"hh:mm
dd/MM/yyy"&lt;/span&gt;&lt;span style="COLOR: #66cc66"&gt;)&lt;/span&gt; %&lt;span style="FONT-WEIGHT: bold; COLOR: #000000"&gt;&amp;gt;&lt;/span&gt;&lt;span style="FONT-WEIGHT: bold; COLOR: #000000"&gt;&amp;lt;/asp:PlaceHolder&lt;span style="FONT-WEIGHT: bold; COLOR: #000000"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="FONT-WEIGHT: bold; COLOR: #000000"&gt;&amp;lt;/p&lt;span style="FONT-WEIGHT: bold; COLOR: #000000"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;br&gt;
&amp;nbsp; &amp;nbsp; &lt;span style="COLOR: #009900"&gt;&lt;span style="FONT-WEIGHT: bold; COLOR: #000000"&gt;&amp;lt;/div&lt;span style="FONT-WEIGHT: bold; COLOR: #000000"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;br&gt;
&amp;nbsp; &amp;nbsp; &lt;span style="COLOR: #009900"&gt;&lt;span style="FONT-WEIGHT: bold; COLOR: #000000"&gt;&amp;lt;/form&lt;span style="FONT-WEIGHT: bold; COLOR: #000000"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;br&gt;
&lt;span style="COLOR: #009900"&gt;&lt;span style="FONT-WEIGHT: bold; COLOR: #000000"&gt;&amp;lt;/body&lt;span style="FONT-WEIGHT: bold; COLOR: #000000"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;br&gt;
&lt;span style="COLOR: #009900"&gt;&lt;span style="FONT-WEIGHT: bold; COLOR: #000000"&gt;&amp;lt;/html&lt;span style="FONT-WEIGHT: bold; COLOR: #000000"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;br&gt;
&amp;nbsp;
&lt;/div&gt;
&lt;p&gt;
&amp;nbsp;
&lt;/p&gt;
&lt;p&gt;
With the associated code: 
&lt;/p&gt;
&lt;div class=csharp style="BORDER-RIGHT: #d0d0d0 1px solid; BORDER-TOP: #d0d0d0 1px solid; BORDER-LEFT: #d0d0d0 1px solid; COLOR: #006; BORDER-BOTTOM: #d0d0d0 1px solid; FONT-FAMILY: monospace; BACKGROUND-COLOR: #f0f0f0"&gt;&lt;span style="COLOR: #0600ff"&gt;using&lt;/span&gt; &lt;span style="COLOR: #008080"&gt;System&lt;/span&gt;&lt;span style="COLOR: #008000"&gt;;&lt;/span&gt;
&lt;br&gt;
&lt;span style="COLOR: #0600ff"&gt;using&lt;/span&gt; &lt;span style="COLOR: #008080"&gt;System.Collections.Generic&lt;/span&gt;&lt;span style="COLOR: #008000"&gt;;&lt;/span&gt;
&lt;br&gt;
&lt;span style="COLOR: #0600ff"&gt;using&lt;/span&gt; &lt;span style="COLOR: #008080"&gt;System.Web&lt;/span&gt;&lt;span style="COLOR: #008000"&gt;;&lt;/span&gt;
&lt;br&gt;
&lt;span style="COLOR: #0600ff"&gt;using&lt;/span&gt; &lt;span style="COLOR: #008080"&gt;System.Web.UI&lt;/span&gt;&lt;span style="COLOR: #008000"&gt;;&lt;/span&gt;
&lt;br&gt;
&lt;span style="COLOR: #0600ff"&gt;using&lt;/span&gt; &lt;span style="COLOR: #008080"&gt;System.Web.UI.WebControls&lt;/span&gt;&lt;span style="COLOR: #008000"&gt;;&lt;/span&gt;
&lt;br&gt;
&lt;br&gt;
&lt;span style="COLOR: #0600ff"&gt;namespace&lt;/span&gt; SEOViewStateAdapterTest&lt;br&gt;
&lt;span style="COLOR: #000000"&gt;{&lt;/span&gt;
&lt;br&gt;
&amp;nbsp; &amp;nbsp; &lt;span style="COLOR: #0600ff"&gt;public&lt;/span&gt; &lt;span style="COLOR: #0600ff"&gt;partial&lt;/span&gt; &lt;span style="COLOR: #ff0000"&gt;class&lt;/span&gt; _Default &lt;span style="COLOR: #008000"&gt;:&lt;/span&gt; &lt;span style="COLOR: #000000"&gt;System.&lt;span style="COLOR: #0000ff"&gt;Web&lt;/span&gt;.&lt;span style="COLOR: #0000ff"&gt;UI&lt;/span&gt;&lt;/span&gt;.&lt;span style="COLOR: #0000ff"&gt;Page&lt;/span&gt;
&lt;br&gt;
&amp;nbsp; &amp;nbsp; &lt;span style="COLOR: #000000"&gt;{&lt;/span&gt;
&lt;br&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="COLOR: #0600ff"&gt;protected&lt;/span&gt; &lt;span style="COLOR: #0600ff"&gt;void&lt;/span&gt; Page_Load&lt;span style="COLOR: #000000"&gt;(&lt;/span&gt;&lt;span style="COLOR: #ff0000"&gt;object&lt;/span&gt; sender,
EventArgs e&lt;span style="COLOR: #000000"&gt;)&lt;/span&gt;
&lt;br&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="COLOR: #000000"&gt;{&lt;/span&gt;
&lt;br&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="COLOR: #0600ff"&gt;if&lt;/span&gt; &lt;span style="COLOR: #000000"&gt;(&lt;/span&gt;&lt;span style="COLOR: #008000"&gt;!&lt;/span&gt;Page.&lt;span style="COLOR: #0000ff"&gt;IsPostBack&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;)&lt;/span&gt; &lt;span style="COLOR: #000000"&gt;{&lt;/span&gt;
&lt;br&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ViewState&lt;span style="COLOR: #000000"&gt;[&lt;/span&gt;&lt;span style="COLOR: #666666"&gt;"previousMessage"&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;]&lt;/span&gt; &lt;span style="COLOR: #008000"&gt;=&lt;/span&gt; txtMessage.&lt;span style="COLOR: #0000ff"&gt;Text&lt;/span&gt;&lt;span style="COLOR: #008000"&gt;;&lt;/span&gt;
&lt;br&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="COLOR: #000000"&gt;}&lt;/span&gt;
&lt;br&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="COLOR: #000000"&gt;}&lt;/span&gt;
&lt;br&gt;
&lt;br&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="COLOR: #0600ff"&gt;protected&lt;/span&gt; &lt;span style="COLOR: #0600ff"&gt;void&lt;/span&gt; bSaveMessage_Click&lt;span style="COLOR: #000000"&gt;(&lt;/span&gt;&lt;span style="COLOR: #ff0000"&gt;object&lt;/span&gt; sender,
EventArgs e&lt;span style="COLOR: #000000"&gt;)&lt;/span&gt;
&lt;br&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="COLOR: #000000"&gt;{&lt;/span&gt;
&lt;br&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; lMessage.&lt;span style="COLOR: #0000ff"&gt;Text&lt;/span&gt; &lt;span style="COLOR: #008000"&gt;=&lt;/span&gt; &lt;span style="COLOR: #ff0000"&gt;String&lt;/span&gt;.&lt;span style="COLOR: #0000ff"&gt;Format&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;(&lt;/span&gt;&lt;span style="COLOR: #666666"&gt;"The
current message is '{0}'. The previous message was '{1}'"&lt;/span&gt;, txtMessage.&lt;span style="COLOR: #0000ff"&gt;Text&lt;/span&gt;, &lt;span style="COLOR: #000000"&gt;(&lt;/span&gt;&lt;span style="COLOR: #ff0000"&gt;string&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;)&lt;/span&gt;ViewState&lt;span style="COLOR: #000000"&gt;[&lt;/span&gt;&lt;span style="COLOR: #666666"&gt;"previousMessage"&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;]&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;)&lt;/span&gt;&lt;span style="COLOR: #008000"&gt;;&lt;/span&gt;
&lt;br&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ViewState&lt;span style="COLOR: #000000"&gt;[&lt;/span&gt;&lt;span style="COLOR: #666666"&gt;"previousMessage"&lt;/span&gt;&lt;span style="COLOR: #000000"&gt;]&lt;/span&gt; &lt;span style="COLOR: #008000"&gt;=&lt;/span&gt; txtMessage.&lt;span style="COLOR: #0000ff"&gt;Text&lt;/span&gt;&lt;span style="COLOR: #008000"&gt;;&lt;/span&gt;
&lt;br&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="COLOR: #000000"&gt;}&lt;/span&gt;
&lt;br&gt;
&amp;nbsp; &amp;nbsp; &lt;span style="COLOR: #000000"&gt;}&lt;/span&gt;
&lt;br&gt;
&lt;span style="COLOR: #000000"&gt;}&lt;/span&gt;
&lt;br&gt;
&amp;nbsp;
&lt;/div&gt;
&lt;p&gt;
&amp;nbsp;
&lt;/p&gt;
&lt;p&gt;
after a couple of postbacks, without using the adapter, the HTML looks like this: 
&lt;/p&gt;
&lt;div class=xml style="BORDER-RIGHT: #d0d0d0 1px solid; BORDER-TOP: #d0d0d0 1px solid; BORDER-LEFT: #d0d0d0 1px solid; COLOR: #006; BORDER-BOTTOM: #d0d0d0 1px solid; FONT-FAMILY: monospace; BACKGROUND-COLOR: #f0f0f0"&gt;&lt;span style="COLOR: #00bbdd"&gt;&amp;lt;!DOCTYPE
html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"&amp;gt;&lt;/span&gt;
&lt;br&gt;
&lt;br&gt;
&lt;span style="COLOR: #009900"&gt;&lt;span style="FONT-WEIGHT: bold; COLOR: #000000"&gt;&amp;lt;html&lt;/span&gt; &lt;span style="COLOR: #000066"&gt;xmlns&lt;/span&gt;=&lt;span style="COLOR: #ff0000"&gt;"http://www.w3.org/1999/xhtml"&lt;/span&gt; &lt;span style="FONT-WEIGHT: bold; COLOR: #000000"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;
&lt;br&gt;
&lt;span style="COLOR: #009900"&gt;&lt;span style="FONT-WEIGHT: bold; COLOR: #000000"&gt;&amp;lt;head&lt;span style="FONT-WEIGHT: bold; COLOR: #000000"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="FONT-WEIGHT: bold; COLOR: #000000"&gt;&amp;lt;title&lt;span style="FONT-WEIGHT: bold; COLOR: #000000"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;br&gt;
&lt;br&gt;
&lt;span style="COLOR: #009900"&gt;&lt;span style="FONT-WEIGHT: bold; COLOR: #000000"&gt;&amp;lt;/title&lt;span style="FONT-WEIGHT: bold; COLOR: #000000"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="FONT-WEIGHT: bold; COLOR: #000000"&gt;&amp;lt;/head&lt;span style="FONT-WEIGHT: bold; COLOR: #000000"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;br&gt;
&lt;span style="COLOR: #009900"&gt;&lt;span style="FONT-WEIGHT: bold; COLOR: #000000"&gt;&amp;lt;body&lt;span style="FONT-WEIGHT: bold; COLOR: #000000"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;br&gt;
&amp;nbsp; &amp;nbsp; &lt;span style="COLOR: #009900"&gt;&lt;span style="FONT-WEIGHT: bold; COLOR: #000000"&gt;&amp;lt;form&lt;/span&gt; &lt;span style="COLOR: #000066"&gt;name&lt;/span&gt;=&lt;span style="COLOR: #ff0000"&gt;"form1"&lt;/span&gt; &lt;span style="COLOR: #000066"&gt;method&lt;/span&gt;=&lt;span style="COLOR: #ff0000"&gt;"post"&lt;/span&gt; &lt;span style="COLOR: #000066"&gt;action&lt;/span&gt;=&lt;span style="COLOR: #ff0000"&gt;"Default.aspx"&lt;/span&gt; &lt;span style="COLOR: #000066"&gt;id&lt;/span&gt;=&lt;span style="COLOR: #ff0000"&gt;"form1"&lt;/span&gt;&lt;span style="FONT-WEIGHT: bold; COLOR: #000000"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;
&lt;br&gt;
&lt;span style="COLOR: #009900"&gt;&lt;span style="FONT-WEIGHT: bold; COLOR: #000000"&gt;&amp;lt;div&lt;span style="FONT-WEIGHT: bold; COLOR: #000000"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;br&gt;
&lt;span style="COLOR: #009900"&gt;&lt;span style="FONT-WEIGHT: bold; COLOR: #000000"&gt;&amp;lt;input&lt;/span&gt; &lt;span style="COLOR: #000066"&gt;type&lt;/span&gt;=&lt;span style="COLOR: #ff0000"&gt;"hidden"&lt;/span&gt; &lt;span style="COLOR: #000066"&gt;name&lt;/span&gt;=&lt;span style="COLOR: #ff0000"&gt;"__VIEWSTATE"&lt;/span&gt; &lt;span style="COLOR: #000066"&gt;id&lt;/span&gt;=&lt;span style="COLOR: #ff0000"&gt;"__VIEWSTATE"&lt;/span&gt; &lt;span style="COLOR: #000066"&gt;value&lt;/span&gt;=&lt;span style="COLOR: #ff0000"&gt;"/wEPDwUJc01l[...]VwP+cfdSWI6Q=="&lt;/span&gt; &lt;span style="FONT-WEIGHT: bold; COLOR: #000000"&gt;/&amp;gt;&lt;/span&gt;&lt;/span&gt;
&lt;br&gt;
&lt;span style="COLOR: #009900"&gt;&lt;span style="FONT-WEIGHT: bold; COLOR: #000000"&gt;&amp;lt;/div&lt;span style="FONT-WEIGHT: bold; COLOR: #000000"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;br&gt;
&lt;br&gt;
&lt;span style="COLOR: #009900"&gt;&lt;span style="FONT-WEIGHT: bold; COLOR: #000000"&gt;&amp;lt;div&lt;span style="FONT-WEIGHT: bold; COLOR: #000000"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;br&gt;
&lt;br&gt;
&amp;nbsp; &amp;nbsp; &lt;span style="COLOR: #009900"&gt;&lt;span style="FONT-WEIGHT: bold; COLOR: #000000"&gt;&amp;lt;input&lt;/span&gt; &lt;span style="COLOR: #000066"&gt;type&lt;/span&gt;=&lt;span style="COLOR: #ff0000"&gt;"hidden"&lt;/span&gt; &lt;span style="COLOR: #000066"&gt;name&lt;/span&gt;=&lt;span style="COLOR: #ff0000"&gt;"__EVENTVALIDATION"&lt;/span&gt; &lt;span style="COLOR: #000066"&gt;id&lt;/span&gt;=&lt;span style="COLOR: #ff0000"&gt;"__EVENTVALIDATION"&lt;/span&gt; &lt;span style="COLOR: #000066"&gt;value&lt;/span&gt;=&lt;span style="COLOR: #ff0000"&gt;"/wEWAwKb4uenCgK/1s7/DwKf8MMPfiUvZtKPSXk//XdxkLooz8QDI0Y="&lt;/span&gt; &lt;span style="FONT-WEIGHT: bold; COLOR: #000000"&gt;/&amp;gt;&lt;/span&gt;&lt;/span&gt;
&lt;br&gt;
&lt;span style="COLOR: #009900"&gt;&lt;span style="FONT-WEIGHT: bold; COLOR: #000000"&gt;&amp;lt;/div&lt;span style="FONT-WEIGHT: bold; COLOR: #000000"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;br&gt;
&amp;nbsp; &amp;nbsp; &lt;span style="COLOR: #009900"&gt;&lt;span style="FONT-WEIGHT: bold; COLOR: #000000"&gt;&amp;lt;div&lt;span style="FONT-WEIGHT: bold; COLOR: #000000"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;br&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Enter a message: &lt;span style="COLOR: #009900"&gt;&lt;span style="FONT-WEIGHT: bold; COLOR: #000000"&gt;&amp;lt;br&lt;/span&gt; &lt;span style="FONT-WEIGHT: bold; COLOR: #000000"&gt;/&amp;gt;&lt;/span&gt;&lt;/span&gt;
&lt;br&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="COLOR: #009900"&gt;&lt;span style="FONT-WEIGHT: bold; COLOR: #000000"&gt;&amp;lt;input&lt;/span&gt; &lt;span style="COLOR: #000066"&gt;name&lt;/span&gt;=&lt;span style="COLOR: #ff0000"&gt;"txtMessage"&lt;/span&gt; &lt;span style="COLOR: #000066"&gt;type&lt;/span&gt;=&lt;span style="COLOR: #ff0000"&gt;"text"&lt;/span&gt; &lt;span style="COLOR: #000066"&gt;value&lt;/span&gt;=&lt;span style="COLOR: #ff0000"&gt;"Message
2"&lt;/span&gt; &lt;span style="COLOR: #000066"&gt;id&lt;/span&gt;=&lt;span style="COLOR: #ff0000"&gt;"txtMessage"&lt;/span&gt; &lt;span style="FONT-WEIGHT: bold; COLOR: #000000"&gt;/&amp;gt;&lt;/span&gt;&lt;span style="FONT-WEIGHT: bold; COLOR: #000000"&gt;&amp;lt;br&lt;/span&gt; &lt;span style="FONT-WEIGHT: bold; COLOR: #000000"&gt;/&amp;gt;&lt;/span&gt;&lt;/span&gt;
&lt;br&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="COLOR: #009900"&gt;&lt;span style="FONT-WEIGHT: bold; COLOR: #000000"&gt;&amp;lt;input&lt;/span&gt; &lt;span style="COLOR: #000066"&gt;type&lt;/span&gt;=&lt;span style="COLOR: #ff0000"&gt;"submit"&lt;/span&gt; &lt;span style="COLOR: #000066"&gt;name&lt;/span&gt;=&lt;span style="COLOR: #ff0000"&gt;"bSaveMessage"&lt;/span&gt; &lt;span style="COLOR: #000066"&gt;value&lt;/span&gt;=&lt;span style="COLOR: #ff0000"&gt;"Save
Message"&lt;/span&gt; &lt;span style="COLOR: #000066"&gt;id&lt;/span&gt;=&lt;span style="COLOR: #ff0000"&gt;"bSaveMessage"&lt;/span&gt; &lt;span style="FONT-WEIGHT: bold; COLOR: #000000"&gt;/&amp;gt;&lt;/span&gt;&lt;span style="FONT-WEIGHT: bold; COLOR: #000000"&gt;&amp;lt;br&lt;/span&gt; &lt;span style="FONT-WEIGHT: bold; COLOR: #000000"&gt;/&amp;gt;&lt;/span&gt;&lt;/span&gt;
&lt;br&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="COLOR: #009900"&gt;&lt;span style="FONT-WEIGHT: bold; COLOR: #000000"&gt;&amp;lt;span&lt;/span&gt; &lt;span style="COLOR: #000066"&gt;id&lt;/span&gt;=&lt;span style="COLOR: #ff0000"&gt;"lMessage"&lt;/span&gt;&lt;span style="FONT-WEIGHT: bold; COLOR: #000000"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;The
current message is 'Message 2'. The previous message was 'Message 1'&lt;span style="COLOR: #009900"&gt;&lt;span style="FONT-WEIGHT: bold; COLOR: #000000"&gt;&amp;lt;/span&lt;span style="FONT-WEIGHT: bold; COLOR: #000000"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="FONT-WEIGHT: bold; COLOR: #000000"&gt;&amp;lt;br&lt;/span&gt; &lt;span style="FONT-WEIGHT: bold; COLOR: #000000"&gt;/&amp;gt;&lt;/span&gt;&lt;/span&gt;
&lt;br&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="COLOR: #009900"&gt;&lt;span style="FONT-WEIGHT: bold; COLOR: #000000"&gt;&amp;lt;p&lt;span style="FONT-WEIGHT: bold; COLOR: #000000"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;Page
generated at 08:13 04/12/2008&lt;span style="COLOR: #009900"&gt;&lt;span style="FONT-WEIGHT: bold; COLOR: #000000"&gt;&amp;lt;/p&lt;span style="FONT-WEIGHT: bold; COLOR: #000000"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;br&gt;
&amp;nbsp; &amp;nbsp; &lt;span style="COLOR: #009900"&gt;&lt;span style="FONT-WEIGHT: bold; COLOR: #000000"&gt;&amp;lt;/div&lt;span style="FONT-WEIGHT: bold; COLOR: #000000"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;br&gt;
&amp;nbsp; &amp;nbsp; &lt;span style="COLOR: #009900"&gt;&lt;span style="FONT-WEIGHT: bold; COLOR: #000000"&gt;&amp;lt;/form&lt;span style="FONT-WEIGHT: bold; COLOR: #000000"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;br&gt;
&lt;span style="COLOR: #009900"&gt;&lt;span style="FONT-WEIGHT: bold; COLOR: #000000"&gt;&amp;lt;/body&lt;span style="FONT-WEIGHT: bold; COLOR: #000000"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;br&gt;
&lt;span style="COLOR: #009900"&gt;&lt;span style="FONT-WEIGHT: bold; COLOR: #000000"&gt;&amp;lt;/html&lt;span style="FONT-WEIGHT: bold; COLOR: #000000"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;/div&gt;
&lt;p&gt;
&amp;nbsp;
&lt;/p&gt;
&lt;p&gt;
and after a couple of postbacks, using the adapter, the HTML looks like this: 
&lt;/p&gt;
&lt;div class=xml style="BORDER-RIGHT: #d0d0d0 1px solid; BORDER-TOP: #d0d0d0 1px solid; BORDER-LEFT: #d0d0d0 1px solid; COLOR: #006; BORDER-BOTTOM: #d0d0d0 1px solid; FONT-FAMILY: monospace; BACKGROUND-COLOR: #f0f0f0"&gt;&lt;span style="COLOR: #00bbdd"&gt;&amp;lt;!DOCTYPE
html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"&amp;gt;&lt;/span&gt;
&lt;br&gt;
&lt;br&gt;
&lt;span style="COLOR: #009900"&gt;&lt;span style="FONT-WEIGHT: bold; COLOR: #000000"&gt;&amp;lt;html&lt;/span&gt; &lt;span style="COLOR: #000066"&gt;xmlns&lt;/span&gt;=&lt;span style="COLOR: #ff0000"&gt;"http://www.w3.org/1999/xhtml"&lt;/span&gt; &lt;span style="FONT-WEIGHT: bold; COLOR: #000000"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;
&lt;br&gt;
&lt;span style="COLOR: #009900"&gt;&lt;span style="FONT-WEIGHT: bold; COLOR: #000000"&gt;&amp;lt;head&lt;span style="FONT-WEIGHT: bold; COLOR: #000000"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="FONT-WEIGHT: bold; COLOR: #000000"&gt;&amp;lt;title&lt;span style="FONT-WEIGHT: bold; COLOR: #000000"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;br&gt;
&lt;br&gt;
&lt;span style="COLOR: #009900"&gt;&lt;span style="FONT-WEIGHT: bold; COLOR: #000000"&gt;&amp;lt;/title&lt;span style="FONT-WEIGHT: bold; COLOR: #000000"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="FONT-WEIGHT: bold; COLOR: #000000"&gt;&amp;lt;/head&lt;span style="FONT-WEIGHT: bold; COLOR: #000000"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;br&gt;
&lt;span style="COLOR: #009900"&gt;&lt;span style="FONT-WEIGHT: bold; COLOR: #000000"&gt;&amp;lt;body&lt;span style="FONT-WEIGHT: bold; COLOR: #000000"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;br&gt;
&amp;nbsp; &amp;nbsp; &lt;span style="COLOR: #009900"&gt;&lt;span style="FONT-WEIGHT: bold; COLOR: #000000"&gt;&amp;lt;form&lt;/span&gt; &lt;span style="COLOR: #000066"&gt;name&lt;/span&gt;=&lt;span style="COLOR: #ff0000"&gt;"form1"&lt;/span&gt; &lt;span style="COLOR: #000066"&gt;method&lt;/span&gt;=&lt;span style="COLOR: #ff0000"&gt;"post"&lt;/span&gt; &lt;span style="COLOR: #000066"&gt;action&lt;/span&gt;=&lt;span style="COLOR: #ff0000"&gt;"Default.aspx"&lt;/span&gt; &lt;span style="COLOR: #000066"&gt;id&lt;/span&gt;=&lt;span style="COLOR: #ff0000"&gt;"form1"&lt;/span&gt;&lt;span style="FONT-WEIGHT: bold; COLOR: #000000"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;
&lt;br&gt;
&lt;span style="COLOR: #009900"&gt;&lt;span style="FONT-WEIGHT: bold; COLOR: #000000"&gt;&amp;lt;div&lt;span style="FONT-WEIGHT: bold; COLOR: #000000"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;br&gt;
&lt;span style="COLOR: #009900"&gt;&lt;span style="FONT-WEIGHT: bold; COLOR: #000000"&gt;&amp;lt;input&lt;/span&gt; &lt;span style="COLOR: #000066"&gt;type&lt;/span&gt;=&lt;span style="COLOR: #ff0000"&gt;"hidden"&lt;/span&gt; &lt;span style="COLOR: #000066"&gt;name&lt;/span&gt;=&lt;span style="COLOR: #ff0000"&gt;"__VIEWSTATE"&lt;/span&gt; &lt;span style="COLOR: #000066"&gt;id&lt;/span&gt;=&lt;span style="COLOR: #ff0000"&gt;"__VIEWSTATE"&lt;/span&gt; &lt;span style="COLOR: #000066"&gt;value&lt;/span&gt;=&lt;span style="COLOR: #ff0000"&gt;""&lt;/span&gt; &lt;span style="FONT-WEIGHT: bold; COLOR: #000000"&gt;/&amp;gt;&lt;/span&gt;&lt;/span&gt;
&lt;br&gt;
&lt;span style="COLOR: #009900"&gt;&lt;span style="FONT-WEIGHT: bold; COLOR: #000000"&gt;&amp;lt;/div&lt;span style="FONT-WEIGHT: bold; COLOR: #000000"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;br&gt;
&lt;br&gt;
&lt;span style="COLOR: #009900"&gt;&lt;span style="FONT-WEIGHT: bold; COLOR: #000000"&gt;&amp;lt;div&lt;span style="FONT-WEIGHT: bold; COLOR: #000000"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;br&gt;
&lt;br&gt;
&amp;nbsp; &amp;nbsp; &lt;span style="COLOR: #009900"&gt;&lt;span style="FONT-WEIGHT: bold; COLOR: #000000"&gt;&amp;lt;input&lt;/span&gt; &lt;span style="COLOR: #000066"&gt;type&lt;/span&gt;=&lt;span style="COLOR: #ff0000"&gt;"hidden"&lt;/span&gt; &lt;span style="COLOR: #000066"&gt;name&lt;/span&gt;=&lt;span style="COLOR: #ff0000"&gt;"__EVENTVALIDATION"&lt;/span&gt; &lt;span style="COLOR: #000066"&gt;id&lt;/span&gt;=&lt;span style="COLOR: #ff0000"&gt;"__EVENTVALIDATION"&lt;/span&gt; &lt;span style="COLOR: #000066"&gt;value&lt;/span&gt;=&lt;span style="COLOR: #ff0000"&gt;"/wEWAwL+raDpAgK/1s7/DwKf8MMPyF7nqN1AbwNwFBq8OAjEAQorsyo="&lt;/span&gt; &lt;span style="FONT-WEIGHT: bold; COLOR: #000000"&gt;/&amp;gt;&lt;/span&gt;&lt;/span&gt;
&lt;br&gt;
&lt;span style="COLOR: #009900"&gt;&lt;span style="FONT-WEIGHT: bold; COLOR: #000000"&gt;&amp;lt;/div&lt;span style="FONT-WEIGHT: bold; COLOR: #000000"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;br&gt;
&amp;nbsp; &amp;nbsp; &lt;span style="COLOR: #009900"&gt;&lt;span style="FONT-WEIGHT: bold; COLOR: #000000"&gt;&amp;lt;div&lt;span style="FONT-WEIGHT: bold; COLOR: #000000"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;br&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Enter a message: &lt;span style="COLOR: #009900"&gt;&lt;span style="FONT-WEIGHT: bold; COLOR: #000000"&gt;&amp;lt;br&lt;/span&gt; &lt;span style="FONT-WEIGHT: bold; COLOR: #000000"&gt;/&amp;gt;&lt;/span&gt;&lt;/span&gt;
&lt;br&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="COLOR: #009900"&gt;&lt;span style="FONT-WEIGHT: bold; COLOR: #000000"&gt;&amp;lt;input&lt;/span&gt; &lt;span style="COLOR: #000066"&gt;name&lt;/span&gt;=&lt;span style="COLOR: #ff0000"&gt;"txtMessage"&lt;/span&gt; &lt;span style="COLOR: #000066"&gt;type&lt;/span&gt;=&lt;span style="COLOR: #ff0000"&gt;"text"&lt;/span&gt; &lt;span style="COLOR: #000066"&gt;value&lt;/span&gt;=&lt;span style="COLOR: #ff0000"&gt;"Message
2"&lt;/span&gt; &lt;span style="COLOR: #000066"&gt;id&lt;/span&gt;=&lt;span style="COLOR: #ff0000"&gt;"txtMessage"&lt;/span&gt; &lt;span style="FONT-WEIGHT: bold; COLOR: #000000"&gt;/&amp;gt;&lt;/span&gt;&lt;span style="FONT-WEIGHT: bold; COLOR: #000000"&gt;&amp;lt;br&lt;/span&gt; &lt;span style="FONT-WEIGHT: bold; COLOR: #000000"&gt;/&amp;gt;&lt;/span&gt;&lt;/span&gt;
&lt;br&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="COLOR: #009900"&gt;&lt;span style="FONT-WEIGHT: bold; COLOR: #000000"&gt;&amp;lt;input&lt;/span&gt; &lt;span style="COLOR: #000066"&gt;type&lt;/span&gt;=&lt;span style="COLOR: #ff0000"&gt;"submit"&lt;/span&gt; &lt;span style="COLOR: #000066"&gt;name&lt;/span&gt;=&lt;span style="COLOR: #ff0000"&gt;"bSaveMessage"&lt;/span&gt; &lt;span style="COLOR: #000066"&gt;value&lt;/span&gt;=&lt;span style="COLOR: #ff0000"&gt;"Save
Message"&lt;/span&gt; &lt;span style="COLOR: #000066"&gt;id&lt;/span&gt;=&lt;span style="COLOR: #ff0000"&gt;"bSaveMessage"&lt;/span&gt; &lt;span style="FONT-WEIGHT: bold; COLOR: #000000"&gt;/&amp;gt;&lt;/span&gt;&lt;span style="FONT-WEIGHT: bold; COLOR: #000000"&gt;&amp;lt;br&lt;/span&gt; &lt;span style="FONT-WEIGHT: bold; COLOR: #000000"&gt;/&amp;gt;&lt;/span&gt;&lt;/span&gt;
&lt;br&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="COLOR: #009900"&gt;&lt;span style="FONT-WEIGHT: bold; COLOR: #000000"&gt;&amp;lt;span&lt;/span&gt; &lt;span style="COLOR: #000066"&gt;id&lt;/span&gt;=&lt;span style="COLOR: #ff0000"&gt;"lMessage"&lt;/span&gt;&lt;span style="FONT-WEIGHT: bold; COLOR: #000000"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;The
current message is 'Message 2'. The previous message was 'Message 1'&lt;span style="COLOR: #009900"&gt;&lt;span style="FONT-WEIGHT: bold; COLOR: #000000"&gt;&amp;lt;/span&lt;span style="FONT-WEIGHT: bold; COLOR: #000000"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="FONT-WEIGHT: bold; COLOR: #000000"&gt;&amp;lt;br&lt;/span&gt; &lt;span style="FONT-WEIGHT: bold; COLOR: #000000"&gt;/&amp;gt;&lt;/span&gt;&lt;/span&gt;
&lt;br&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="COLOR: #009900"&gt;&lt;span style="FONT-WEIGHT: bold; COLOR: #000000"&gt;&amp;lt;p&lt;span style="FONT-WEIGHT: bold; COLOR: #000000"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;Page
generated at 08:11 04/12/2008&lt;span style="COLOR: #009900"&gt;&lt;span style="FONT-WEIGHT: bold; COLOR: #000000"&gt;&amp;lt;/p&lt;span style="FONT-WEIGHT: bold; COLOR: #000000"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;br&gt;
&amp;nbsp; &amp;nbsp; &lt;span style="COLOR: #009900"&gt;&lt;span style="FONT-WEIGHT: bold; COLOR: #000000"&gt;&amp;lt;/div&lt;span style="FONT-WEIGHT: bold; COLOR: #000000"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;br&gt;
&amp;nbsp; &amp;nbsp; &lt;span style="COLOR: #009900"&gt;&lt;span style="FONT-WEIGHT: bold; COLOR: #000000"&gt;&amp;lt;input&lt;/span&gt; &lt;span style="COLOR: #000066"&gt;type&lt;/span&gt;=&lt;span style="COLOR: #ff0000"&gt;"hidden"&lt;/span&gt; &lt;span style="COLOR: #000066"&gt;name&lt;/span&gt;=&lt;span style="COLOR: #ff0000"&gt;"__SEOVIEWSTATE"&lt;/span&gt; &lt;span style="COLOR: #000066"&gt;id&lt;/span&gt;=&lt;span style="COLOR: #ff0000"&gt;"__SEOVIEWSTATE"&lt;/span&gt; &lt;span style="COLOR: #000066"&gt;value&lt;/span&gt;=&lt;span style="COLOR: #ff0000"&gt;"/wEPc01lc3[...]CdNY6AtgigHvU="&lt;/span&gt; &lt;span style="FONT-WEIGHT: bold; COLOR: #000000"&gt;/&amp;gt;&lt;/span&gt;&lt;span style="FONT-WEIGHT: bold; COLOR: #000000"&gt;&amp;lt;/form&lt;span style="FONT-WEIGHT: bold; COLOR: #000000"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;br&gt;
&lt;span style="COLOR: #009900"&gt;&lt;span style="FONT-WEIGHT: bold; COLOR: #000000"&gt;&amp;lt;/body&lt;span style="FONT-WEIGHT: bold; COLOR: #000000"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;br&gt;
&lt;span style="COLOR: #009900"&gt;&lt;span style="FONT-WEIGHT: bold; COLOR: #000000"&gt;&amp;lt;/html&lt;span style="FONT-WEIGHT: bold; COLOR: #000000"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;/div&gt;
&lt;p&gt;
&amp;nbsp;
&lt;/p&gt;
&lt;p&gt;
In order to use the adapter, you have to add a reference to the assembly and add a
file called SEOViewStateAdapter.browser (the name of the file does not matter. The
extension needs to be the same. Or also you could merge the contents to another file
if you already have one) to the App_Browsers folder. The content of the file should
be: 
&lt;/p&gt;
&lt;div class=xml style="BORDER-RIGHT: #d0d0d0 1px solid; BORDER-TOP: #d0d0d0 1px solid; BORDER-LEFT: #d0d0d0 1px solid; COLOR: #006; BORDER-BOTTOM: #d0d0d0 1px solid; FONT-FAMILY: monospace; BACKGROUND-COLOR: #f0f0f0"&gt;&lt;span style="COLOR: #009900"&gt;&lt;span style="FONT-WEIGHT: bold; COLOR: #000000"&gt;&amp;lt;browsers&lt;span style="FONT-WEIGHT: bold; COLOR: #000000"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;br&gt;
&amp;nbsp; &amp;nbsp; &lt;span style="COLOR: #808080; FONT-STYLE: italic"&gt;&amp;lt;!-- use the adapters
for all browsers --&amp;gt;&lt;/span&gt;
&lt;br&gt;
&amp;nbsp; &amp;nbsp; &lt;span style="COLOR: #009900"&gt;&lt;span style="FONT-WEIGHT: bold; COLOR: #000000"&gt;&amp;lt;browser&lt;/span&gt; &lt;span style="COLOR: #000066"&gt;refID&lt;/span&gt;=&lt;span style="COLOR: #ff0000"&gt;"Default"&lt;/span&gt;&lt;span style="FONT-WEIGHT: bold; COLOR: #000000"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;
&lt;br&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="COLOR: #009900"&gt;&lt;span style="FONT-WEIGHT: bold; COLOR: #000000"&gt;&amp;lt;controlAdapters&lt;span style="FONT-WEIGHT: bold; COLOR: #000000"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;br&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="COLOR: #808080; FONT-STYLE: italic"&gt;&amp;lt;!--
ths adapter is used to save the view and control state at the bottom of the form so
the page is more friendly to search engines --&amp;gt;&lt;/span&gt;
&lt;br&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="COLOR: #009900"&gt;&lt;span style="FONT-WEIGHT: bold; COLOR: #000000"&gt;&amp;lt;adapter&lt;/span&gt; &lt;span style="COLOR: #000066"&gt;controlType&lt;/span&gt;=&lt;span style="COLOR: #ff0000"&gt;"System.Web.UI.Page"&lt;/span&gt; &lt;span style="COLOR: #000066"&gt;adapterType&lt;/span&gt;=&lt;span style="COLOR: #ff0000"&gt;"Manu.Web.Adapters.SEOFriendlyViewStatePageAdapter,
SEOViewStateAdapter"&lt;/span&gt; &lt;span style="FONT-WEIGHT: bold; COLOR: #000000"&gt;/&amp;gt;&lt;/span&gt;&lt;/span&gt;
&lt;br&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style="COLOR: #009900"&gt;&lt;span style="FONT-WEIGHT: bold; COLOR: #000000"&gt;&amp;lt;/controlAdapters&lt;span style="FONT-WEIGHT: bold; COLOR: #000000"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;br&gt;
&amp;nbsp; &amp;nbsp; &lt;span style="COLOR: #009900"&gt;&lt;span style="FONT-WEIGHT: bold; COLOR: #000000"&gt;&amp;lt;/browser&lt;span style="FONT-WEIGHT: bold; COLOR: #000000"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;br&gt;
&lt;span style="COLOR: #009900"&gt;&lt;span style="FONT-WEIGHT: bold; COLOR: #000000"&gt;&amp;lt;/browsers&lt;span style="FONT-WEIGHT: bold; COLOR: #000000"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;br&gt;
&amp;nbsp;
&lt;/div&gt;
&lt;p&gt;
&amp;nbsp;
&lt;/p&gt;
&lt;p&gt;
That’s all. Enjoy!
&lt;/p&gt;
&lt;a href="http://www.manuelabadia.com/blog/content/binary/SEOViewState.zip"&gt;SEOViewState.zip
(29.67 KB)&lt;/a&gt;&lt;img width="0" height="0" src="http://www.manuelabadia.com/blog/aggbug.ashx?id=7924eaf8-b406-43af-9444-b816f6dfa246" /&gt;</description>
      <comments>http://www.manuelabadia.com/blog/CommentView,guid,7924eaf8-b406-43af-9444-b816f6dfa246.aspx</comments>
      <category>ASP.NET;Microsoft .NET Framework;SEO</category>
    </item>
  </channel>
</rss>