URL重写、ASPNET.4.0、Route的使用、获取route的值

12/8/2011 2:18:01 PM

URL重写有很多的好处,如有利于SEO、便于记忆、隐藏真实路径使安全性提高、便于更新等等。

在AspNet4.0之前的版本中要实现URL重写比较复杂,有时还会借助 第三方类库,而在AspNet4.0中可以很方面实现,下面是怎样在AspNet4.0中实现URL重写。

 打开或添加Global.asax文件,引用命名空间System.Web.Routing。在该文 件中添加如下方法:

void RegisterRoutes(RouteCollection routes) { routes.MapPageRoute("productdetail", "{id}/{name}", "~/default.aspx", false, new RouteValueDictionary { { "id", "100" }, { "name", "testnamet" } }); }

MapPageRoute方法的参数解释:

"routename":路由名称,取一个和当前路由设置相匹配的名称即可。

"{id}/{name}":URL的重写规则。

"~/default.aspx":配置对应的物理文件。

new RouteValueDictionary { { "id", "name" }, { "100", "testname" } }:配置默认值。

 

 在Global.asax中的方法Application_Start中添加如下代码:

void Application_Start(object sender, EventArgs e) { RegisterRoutes(RouteTable.Routes); }

在项目中添加一个页面命名为*.aspx,如果命名为别的名称,在上面的MapPageRoute方法的配置物理文件的参数就应

获取route的值

lblTestUrlRewrite.Text="id:"+RouteData.Values["id"].ToString()+"<br />name:"+RouteData.Values["name"].ToString();