UrlRoute

今天看了一下老版本的系统,Url看的我有点心寒了,看的我都不知道url是什么意思,于是想在下一版本引入UrlRewriter们的url可读性。

记得以前在做一些demo的时候用过Intelligencia.UrlRewriter,一个开源的UrlRewriter工具.下一个版本我们在4.0上开发了,记得在mvc时候的url传递都是通过UrlRoute的方式进行了,于是就尝试了在WebForm的下面使用UrlRoute。

我们新建一个Login.aspx,有一个超链接 <a href='<%=GetRouteUrl("StudentRoute",new {id=1}) %>'>Test</a>

GetRouteUrl 方法不明白的可以去产看一下msdn,之后在Global.asax里面添加RegisterRoutes方法

 void RegisterRoutes(RouteCollection routes)
    {
        routes.MapPageRoute(
        "StudentRoute", //路由名
        "Student/{id}.html", //路由URL
        "~/Test/Student.aspx" //处理路由的网页
        );

    } 

之后在 Application_Start注册一下

 void Application_Start(object sender, EventArgs e) 

    {
        // 在应用程序启动时运行的代码
        RegisterRoutes(RouteTable.Routes);
    }

 最好运行效果为:http://localhost:5143/WebSite3/Student/1.html

 调用RouteData.Values["id"],就可以在另一页面取出传递的id了

posted on 2011-01-27 15:49  Jack.Wang  阅读(1003)  评论(1编辑  收藏  举报