来一篇关于NET的浅谈ASP.NET 4.0 SEO加强中的UrlRouting
在经过全球个人PC市场占有90%的微软对asp.net不断优化与整合后,asp.net与微软自身平台的动用上更加的高效,加上asp.net在应用上非常容易上手,相信asp.net仍会是最多客户选用的脚本语言,并会在未来几年继续领跑。<p>本文将报告的是ASP.NET4.0SEO加强中的UrlRouting,51CTO-.NET频道向您保举《ASP.NET视频教程》以便于您更好的了解。在.NET4.0之前我们为了做出搜刮引擎友爱的,对用户也友爱的url都是必要本人完成Url重写,如今不必要了,.NET4.0为我们做这统统。UrlRouting之以是称之为Routing是由于它不仅完成了Url重写还能够经由过程参数失掉重写后的Url在页面上利用。
1.UrlRouting的一般用法
UrlRouting在Asp.NETMVC项目中被普遍利用,在MVC中很好用,以是移植到了webform中,我们先看下在webform中的利用体例
假定一个利用场景:我们必要做博客逐日文章的页面,我们但愿的url地点是:
/archive/2010/05/10/default.aspx
这个地点将被映照到~/posts.aspx文件上
要利用UrlRouting,必要将UrlRouting的划定规矩注册到RouteTable中,以下Global文件中注册Routing划定规矩的代码
<olclass="dp-c">publicstaticvoidRegisterRoutes(RouteCollectionroutes){routes.Ignore("{resource}.axd/{*pathInfo}");routes.MapPageRoute("blogs",//给这个UrlRouting划定规矩起一个名字"archive/{year}/{month}/{date}/default.aspx",//但愿的友爱Url地点格局"~/blogs.aspx",//映照到的aspx页面路径false,//是不是必要反省用户权限newRouteValueDictionary{{"year",DateTime.Now.Year},{"month",DateTime.Now.Month},{"date",DateTime.Now.Date}},//参数的默许值newRouteValueDictionary{{"year",@"(19|20)d{2}"},{"month",@"d{1,2}"},{"date",@"d{1,2}"}}//参数的划定规矩,我们在这里限定url中的年代日是我们想要的数据格局);}voidApplication_Start(objectsender,EventArgse){//在Application_Start时注册的Routing划定规矩RegisterRoutes(RouteTable.Routes);}
2.在页面中利用UrlRouting参数值
1)在背景代码中利用Route的值
<olclass="dp-c">protectedvoidPage_Load(objectsender,EventArgse){stringyear=(string)RouteData.Values["year"];stringmonth=(string)RouteData.Values["month"];stringdate=(string)RouteData.Values["date"];}
2)在页面上利用
<olclass="dp-xml"><asp:LiteralID="literalYear"runat="server"Text="<%$RouteValue:year%>"></asp:Literal>-<asp:LiteralID="literal1"runat="server"Text="<%$RouteValue:month%>"></asp:Literal>-<asp:LiteralID="literal2"runat="server"Text="<%$RouteValue:date%>"></asp:Literal>
3)在DataSource中利用RouteParameter
<divclass="code"><olclass="dp-xml"><asp:SqlDataSourceID="SqlDataSource1" ASP是把代码交给VBScript解释器或Jscript解释器来解释,当然速度没有编译过的程序快了。 我觉得什么语言,精通就好,你要做的就是比其他80%的人都厉害,你就能得到只有20%的人才能得到的高薪。 ASP.Net和ASP的最大区别在于编程思维的转换,而不仅仅在于功能的增强。ASP使用VBS/JS这样的脚本语言混合html来编程,而那些脚本语言属于弱类型、面向结构的编程语言,而非面向对象。 可以看作是VC和Java的混合体吧,尽管MS自己讲C#内核中更多的象VC,但实际上我还是认为它和Java更象一些吧。首先它是面向对象的编程语言,而不是一种脚本,所以它具有面向对象编程语言的一切特性。 主流网站开发语言之JSP:JSP和Servlet要放在一起讲,是因为它们都是Sun公司的J2EE(Java2platformEnterpriseEdition)应用体系中的一部分。 现在主流的网站开发语言无外乎asp、php、asp.net、jsp等。 弱类型造成潜在的出错可能:尽管弱数据类型的编程语言使用起来回方便一些,但相对于它所造成的出错几率是远远得不偿失的。 可以看作是VC和Java的混合体吧,尽管MS自己讲C#内核中更多的象VC,但实际上我还是认为它和Java更象一些吧。首先它是面向对象的编程语言,而不是一种脚本,所以它具有面向对象编程语言的一切特性。
页:
[1]