|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
在经过全球个人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" |
|