今天看了一下老版本的系统,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了