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();