大家都知道通常ASP.NET的链接都是www.aaa.com/project/user.aspx?uid=abc这样的,给人一种非常不友好的感觉,有没有一种更好的链接方式呢?比如这样的链接www.aaa.com/project/user/abc。.net 4.0的推出,这个问题的解决变的异常简单.
开发工具使用VS2010。(VS2010非常的好用,JS,CSS的编写跟方便,界面也好看多了)
进入正题:使用asp.net的路由功能。我们将用到的命名空间System.Web.Routing(.NET MVC的路由功能也是依靠这个命名空间).
步骤:
1.新建一个web网站
2.打开Global.asax,导入命名空间
<%@ Import Namespace="System.Web.Routing" %>
3.添加路由解析的方法
void RegisterRoutes(RouteCollection routes)
{
//解析 user/list/1 为 user/userlist.aspx 1为一个参数
routes.MapPageRoute("",
"User/list/{id}", "~/User/UserList.aspx");
//解析 Department/list/1 为 Department/Deptlist.aspx
routes.MapPageRoute("",
"Department/list/{id}", "~/Department/DeptList.aspx");
}
4.在Application_Start方法里面添加
RegisterRoutes(RouteTable.Routes);
5.http://localhost:24551/RoteApp/User/list/2 就能指向http://localhost:24551/RoteApp/User/UserList.aspx
6.最后一个问题:这个参数2怎么传到页面上去呢?传统的方式是request["id"],当然这种方式在这里是不行的,我们这里这样来接收:
string id= Page.RouteData.Values["id"];
这里的id对应 "User/list/{id}" 这里面的id
7.关于路由的配置有很多复杂的功能,我就不一一做解释了,对这个有兴趣的可以网上找找,有很多这方面的资料。
第一次写文章,很仓促,文笔也不行,希望大家海涵。有什么不明白的地方大家留言我会做出解答。