在asp.net页面中经常会出现一些ViewState的html标记,也许某些时候你会禁用ViewState,但是某些情况下你不得不使用它——因为它的便捷性,但是由于在默认情况下,ViewState的HTML标记总是在页面的最前面,而且都是一些没有意义的内容,一般的搜索引擎收录的时候就会将这些无意义的字符串收录进去,这样就会严重影响你所制作的网页在搜索引擎的排名。有没有解决办法?答案是有的,可以将ViewState的Html标记移到底部,不影响性能,对搜索引擎更友好。这种方法就是重写页面的Render,将ViewState的Html标记移到底部。
原始页面的HTML:
<%@PageLanguage="C#"AutoEventWireup="true"CodeFile="Top.aspx.cs"Inherits="Admin_Top"%>
<!DOCTYPEhtmlPUBLIC"-//W3C//DTDXHTML1.0Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<htmlxmlns="http://www.w3.org/1999/xhtml">
<headrunat="server">
<title>调整ViewState的位置,让你的asp.net页面对搜索引擎更友好</title>
</head>
<body>
<formid="form1"runat="server">
<div>
</div>
</form>
</body>
</html>
这个页面后台没有任何业务cs代码的情况下,得到的HTML代码如下:
<!DOCTYPEhtmlPUBLIC"-//W3C//DTDXHTML1.0Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<htmlxmlns="http://www.w3.org/1999/xhtml">
<head><title>
调整ViewState的位置,让你的asp.net页面对搜索引擎更友好
</title></head>
<body>
<formname="form1"method="post"action="Top.aspx"id="form1">
<div>
<inputtype="hidden"name="__VIEWSTATE"id="__VIEWSTATE"value="/wEPDwUJNzgzNDMwNTMzZGTKRk3xYdpqlKIfqyg44evx9dxYpQ=="/>
</div>
<div>
</div>
</form>
</body>
</html>
现在不改变前台aspx代码,重写Render方法,后台cs代码如下:
usingSystem;
usingSystem.Data;
usingSystem.Configuration;
usingSystem.Collections;
usingSystem.Web;
usingSystem.Web.Security;
usingSystem.Web.UI;
usingSystem.Web.UI.WebControls;
usingSystem.Web.UI.WebControls.WebParts;
usingSystem.Web.UI.HtmlControls;
usingSystem.Text.RegularExpressions;
usingSystem.Text;
publicpartialclassAdmin_Top:System.Web.UI.Page
{
//ViewState的Html标记的正则表达式
privatestaticreadonlyRegexviewStateRegex=newRegex(@"(<inputtype=""hidden""name=""__VIEWSTATE""id=""__VIEWSTATE""value=""[w+//=]+""/>)",RegexOptions.Multiline|RegexOptions.Compiled);
//</form>标记的正则表达式
privatestaticreadonlyRegexendFormRegex=newRegex(@"</form>",RegexOptions.Multiline|RegexOptions.Compiled);
protectedoverridevoidRender(HtmlTextWriterwriter)
{
System.IO.StringWriterstringWriter=newSystem.IO.StringWriter();
HtmlTextWriterhtmlWriter=newHtmlTextWriter(stringWriter);
base.Render(htmlWriter);
stringhtml=stringWriter.ToString();
MatchviewStateMatch=viewStateRegex.Match(html);
stringviewStateString=viewStateMatch.Captures[0].Value;//找出ViewState的Html标记
html=html.Remove(viewStateMatch.Index,viewStateMatch.Length);//替换掉ViewState的html标记
MatchendFormMath=endFormRegex.Match(html,viewStateMatch.Index);
html=html.Insert(endFormMath.Index,viewStateString);//将ViewState的Html标记插入到</form>标记之前
writer.Write(html);
}
protectedvoidPage_Load(objectsender,EventArgse)
{
}
}
最后生成的Html页面的代码:
<!DOCTYPEhtmlPUBLIC"-//W3C//DTDXHTML1.0Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<htmlxmlns="http://www.w3.org/1999/xhtml">
<head><title>
调整ViewState的位置,让你的asp.net页面对搜索引擎更友好
</title></head>
<body>
<formname="form1"method="post"action="Top.aspx"id="form1">
<div>
</div>
<div>
</div>
<inputtype="hidden"name="__VIEWSTATE"id="__VIEWSTATE"value="/wEPDwUJNzgzNDMwNTMzZGTKRk3xYdpqlKIfqyg44evx9dxYpQ=="/></form>
</body>
</html>
最后的结果大家也看到了,确实移动了ViewState的html标记的位置,这样对搜索引擎更友好。
分享到:
相关推荐
10. **SEO优化**:对于提升论坛的搜索引擎可见性,系统可能采用了URL重写等SEO技术,使动态网页看起来更像静态页面,便于搜索引擎抓取。 综上所述,ASP.NET实现的论坛BBS系统利用了ASP.NET框架的多个核心特性,构建...
8. **路由和URL重写**:ASP.NET的路由系统允许自定义友好的URL,提高用户体验,并支持URL重写,使URL更具描述性,利于SEO(搜索引擎优化)。 9. **身份验证和授权**:ASP.NET提供内置的身份验证和授权服务,如Forms...
- **定义**:ASP.NET提供URL重写和路由功能,可以在不改变页面实际位置的情况下改变URL展现形式。 - **优点**:可以创建更友好的URL,改善SEO;方便地管理应用程序的结构。 - **缺点**:配置相对复杂,需要对URL...
对于提高搜索引擎可见性,论坛需要考虑SEO最佳实践,比如使用友好的URL、添加元标签、优化页面内容等。 综上所述,构建一个ASP.NET网络论坛涉及到多个技术层面,包括前端界面设计、后端数据处理、用户认证、权限...
5. **状态管理**:备忘录的创建和修改需要保持用户的状态信息,ASP.NET提供了多种状态管理机制,如Session、ViewState和Cookie,来在请求之间保存信息。 6. **路由与URL重写**:ASP.NET MVC中的路由系统允许开发者...
5. **路由**:ASP.NET支持URL路由,允许自定义友好的URL结构,提高用户体验和搜索引擎优化。 6. **数据访问**:ADO.NET或Entity Framework是ASP.NET中常用的数据访问技术,用于连接数据库并执行CRUD操作。 7. **...
网上书店需要考虑搜索引擎优化(SEO),ASP.NET提供URL重写功能,可以生成更友好的URL,有助于提高搜索引擎的可见性。 综上所述,使用ASP.NET开发网上书店涉及的技术点广泛,从页面设计、数据管理到安全性和性能...
- **MVC**:支持自定义路由规则,可以创建简洁且对搜索引擎友好的URL。 5. **灵活性**: - **Web Forms**:提供了许多内置功能,但在某些场景下可能会显得过于臃肿。 - **MVC**:提供了更高的灵活性和控制度,更...
电子商务系统需要良好的搜索引擎可见性,ASP.NET MVC支持自定义路由,可以创建SEO友好的URL结构。 10. **部署和扩展** ASP.NET支持IIS或Azure等平台的快速部署,系统可能还设计了模块化和插件化,便于未来功能...
11. **SEO优化**:为了吸引和留住用户,电子商务网站需要对搜索引擎友好。这部分可能会讨论URL重写、元标签设置、网站地图生成等SEO策略。 12. **移动设备支持**:考虑到移动互联网的崛起,书中可能也会涉及到响应...
6. **路由**:ASP.NET允许使用URL路由来定义友好的、可搜索引擎优化的URL,替代传统的基于查询字符串的URL。 7. **ASP.NET MVC**:一个模型-视图-控制器架构,强调分离关注点,提供更灵活的开发模式。 8. **Web ...
5. **路由(Routing)**:ASP.NET允许自定义URL模式,通过路由系统可以创建更友好的、可搜索引擎优化的URL。 6. **身份验证(Authentication)**:ASP.NET提供了多种身份验证方式,如Windows身份验证、Forms身份验证和...
9. **SEO优化**:为了提升搜索引擎可见性,系统可能实现了URL重写和元标签管理,使网页对搜索引擎友好。 10. **安全性**:考虑到电子商务的安全性,系统会采取加密措施保护用户数据,如HTTPS协议、防止SQL注入和跨...
站点地图提供了一种组织网站结构的方法,它可以帮助生成面包屑导航、菜单以及搜索引擎友好的URL。 6. **数据绑定(Data Binding)**: 数据绑定是ASP.NET的核心特性之一,如Repeater、GridView和ListView等控件可以...
这个系统的主要功能是自动化管理和优化网站的内部链接,提高搜索引擎的友好性,进而提升网站的SEO(搜索引擎优化)效果。"bylinkacc"可能是该系统的开发者或者公司名称。 【描述】中的内容与标题一致,进一步确认了...
此外,SEO优化也是现代论坛程序不可或缺的部分,通过使用URL重写和Meta标签,可以使搜索引擎更好地理解和索引论坛内容。 ASP.NET论坛程序的开发还涉及到错误处理、日志记录、性能优化等方面。开发者通常会使用调试...
**ASP.NET深入解析** ASP.NET是由微软开发的一种用于构建Web应用程序的框架,它基于.NET Framework,为开发者提供了高效、...通过深入阅读相关书籍,尤其是针对初学者的指导,可以逐步建立对ASP.NET全面而扎实的理解。
启用MVC的URLRouting,相比urlrewrite,具有更友好的url,且能更自由的更换url扩展名,更易于搜索引擎. mvc框架无ViewState,减少带宽浪费 使用多层开发模式开发,更灵活的构架,理论上支持所有.net支持的数据库. 提交...
此外,还会讲解页面间导航和URL重写,这些都是构建用户友好和可搜索引擎优化(SEO)的网站的关键。 ASP.NET的安全性也是重要的章节,可能包含身份验证(Forms Authentication)、授权(Role-based Authorization)...
在IT行业中,静态页面是指不含有服务器端动态脚本或者...通过动态生成静态页面,既实现了动态内容的展示,又保持了静态页面的加载速度和搜索引擎友好性。这展示了如何在实际开发中灵活运用技术栈,以满足特定项目需求。