最近有些忙,终于把Asp.net的 Viewstate优化(二) 这里出来。前面的Asp.Net程序员与SEO – Viewstate优化( 一 )可能看起来不是很明白,那么我这篇翻译后给大家留个原代码,可以下载下来看看。下面内容接上节开始:
我们的网页适配器在这个form的底部添加一个隐藏字段__SEOVIEWSTATE来放实际视图状态数据,唯一的局限性是你不能直接在asp.net form 内的表达式来表现它。然而,这种限制可以很容易地避免把表达的预留位置控制或内部另一个控制。深入解释这一限制看看这篇文章。
让我们通过一个例子来看适配器起的作用. 下面的ASP.NET page:
以下为引用的内容: <%@ Page Language="C#"AutoEventWireup="true"CodeBehind="Default.aspx.cs"Inherits="SEOViewStateAdapterTest._Default" %> 开通挂钟小程序电话:4006-838-530<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <htmlxmlns="http://www.w3.org/1999/xhtml"> <headrunat="server"> <title></title> </head> <body> <formid="form1"runat="server"> <div> Enter a message: <br/> <asp:TextBoxID="txtMessage"runat="server"></asp:TextBox><br/> <asp:ButtonID=&quo开通宽肩带小程序电话:4006-838-530t;bSaveMessage"runat="server"Text="Save Message"onclick="bSaveMessage_Click"/><br/> <asp:LabelID="lMessage"runat="server"></asp:Label><br/> <p>Page generated at <asp:PlaceHolderID="PlaceHolder1"runat="server"><%= DateTime.Now.ToString("hh:mm dd/MM/yyy") %></asp:PlaceHolder></p> </div> </form> </body> </html> |
关联的CS代码:
以下为引用的内容: usingSystem; usingSystem.Collections.Generic; usingSystem.Web; usingSystem.Web.UI; usingSystem.Web.UI.WebControls; namespace SEOViewStateAdapterTest { publicpartialclass _Default :System.Web.UI.Page { protectedvoid Page_Load(object sender, EventArgs e) &nb开通测距仪小程序电话:4006-838-530sp; { if(!Page.IsPostBack){ ViewState["previousMessage"]= txtMessage.Text; } } protectedvoid bSaveMessage_Click(object sender, EventArgs e) { lMessage.Text=String.Format("The current message is ‘{0}’. The previous message was ‘{1}’", txtMessage.Text, (string)ViewState["previousMessage"]); ViewState["previousMessage"]= txtMessage.Text; } } } |
没有使用我们的适配器情况下,在几次 postbacks 后,我们看到网页的HTML代码是这样的
以下为引用的内容: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <htmlxmlns="http://www.w3.org/1999/xhtml"> <head><title> </title></head> <body> <formname="form1"method="post"action="Default.aspx"id="form1"> <div> <inputtype="hidden&quo开通骚包小程序电话:4006-838-530t;name="__VIEWSTATE&quo开通战术鞋小程序电话:4006-838-530t;id="__VIEWSTATE"value="/wEPDwUJc01l[…]VwP+cfdSWI6Q=="/> </div> <div> <inputtype="hidden"name="__EVENTVALIDATION"id="__EVENTVALIDATION"value="/wEWAwKb4uenCgK/1s7/DwKf8MMPfiUvZtKPSXk//XdxkLooz8QDI0Y="/> </div> <div> Enter a message: <br/> <inputname="txtMessage"type="text"value="Message 2"id="txtMessage"/><br/> <inputtype="submit"name="bSaveMessage"value="Save Message"id="bSaveMessage"/><br/> <spanid="lMessage">The current message is ‘Message 2’. The previous message was ‘Message 1’</span><br/> <p>Page generated at 08:13 04/12/2008</p> </div> </form> </body> </html> |
使用我们的适配器情况,在几次 postbacks 后,我们看到网页的HTML代码是这样的。看,视图数据代码被移到底部啦。
以下为引用的内容: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <htmlxmlns="http://www.w3.org/1999/xhtml"> <head><title> </title></head> <body> <formname="form1"method="post"action="Default.aspx"id="form1"> <div> <inputtype="hidden"name="__VIEWSTATE"id="__VIEWSTATE"value=""/> </div> <div> <inputtype="hidden"name="__EVENTVALIDATION"id="__EVENTVALIDATION"value="/wEWAwL+raDpAgK/1s7/DwKf8MMPyF7nqN1AbwNwFBq8OAjEAQorsyo="/> </div> <div> Enter a message: <br/> <inputname="txtMessage"type="text"value="Message 2"id="txtMessage"/><br/>  开通水培花卉小程序电话:4006-838-530; <inputtype="submit"name="bSaveMessage"value="Save Message"id="bSaveMessage"/><br/> <spanid="lMessage">The current message is ‘Message 2’. The previous message was ‘Message 1’</span><br/> <p>Page generated at 08:11 04/12/2008</p> </div> <inputtype="hidden"name="__SEOVIEWSTATE"id="__SEOVIEWSTATE"value="/wEPc01lc3[…]CdNY6AtgigHvU="/></form> </body> </html> |
开通买车送油卡小程序电话:4006-838-530为了使用的适配器,您必须添加一个引用,并添加一个名为SEOViewStateAdapter.browser (文件的名称并不重要。扩展名需要是相同的。或者也可以合并的内容另一个文件如果您已经有一个)到App_Browsers文件夹中。该文件应为:
以下为引用的内容: <browsers> <!– use the adapters for all browsers –> <browserrefID="Default"> <controlAdapters> &nb开通鸡尾酒小程序电话:4006-838-530sp; <!– ths adapter is used to save the view and control state at the bottom of the form so the page is more friendly t开通无框眼镜小程序电话:4006-838-530o search engines –> <adaptercontrolType="System.Web.UI.Page"adapterType="Manu.Web.Adapters.SEOFriendlyViewStatePageAdapter, SEOViewStateAdapter"/> </controlAdapters> </browser> </browsers> |
当你还不是很明白讲的是文章内容的时候,你可以下载下面的代码来看。
SEOViewState.zip
相关阅读:
Asp.Net程序员与SEO – Viewstate优化
最新评论
好文推荐
好文推荐
666666