To move the Viewstate down the page when using Kentico Portal Model you need to override Render method on the ~\CMSPages\PortalTemplate.aspx.cs file e.g.
protected override void Render(System.Web.UI.HtmlTextWriter writer) {
System.IO.StringWriter stringWriter = new System.IO.StringWriter();
HtmlTextWriter htmlWriter = new HtmlTextWriter(stringWriter);
base.Render(htmlWriter);
string html = stringWriter.ToString();
int StartPoint = html.IndexOf("<input type=\"hidden\" name=\"__VIEWSTATE\"");
if (StartPoint >= 0) {
int EndPoint = html.IndexOf("/>", StartPoint) + 2;
string viewstateInput = html.Substring(StartPoint, EndPoint - StartPoint);
html = html.Remove(StartPoint, EndPoint - StartPoint);
int FormEndStart = html.IndexOf("</form>");
if (FormEndStart >= 0) {
html = html.Insert(FormEndStart, viewstateInput + Environment.NewLine);
}
}
writer.Write(html);
}
More info on this method can be found here
http://www.hanselman.com/blog/MovingViewStateToTheBottomOfThePage.aspx