本文主要针对的是ASP.NET MVC路由规则的问题,作者本次所研究的是ASP.NET MVC路由规则XML,希望那个通过本文能对大家有所帮助。
最近由于工作关系,重新回顾了ASP.NET MVC的1.0 版本。2.0版本还没有研究。
由于MVC框架发展不久,还有很多不足的地方。其中关于路由规则配置这一块问题比较大。首先路由规则是在全局配置问价 Global.asax 的 Application_Start()事件中注册的。
- public static void RegisterRoutes(RouteCollection routes)
- {
- routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
- routes.MapRoute(
- "User",
- "{controller}/{action}/{id}",
- new { controller = "User", action = "Show", id = "0" }
- );
- }
- protected void Application_Start()
- {
- RegisterRoutes(RouteTable.Routes);
- }
默认硬编码的方式使得以后可维护程度大大降低。MVC 1.0 似乎没有提供很好的基于配置文件的路由规则设置。所以只好自己实现了。直到写这篇文章时,才找到了一个比较好的解决方案。
以下是 自定义的XML 格式
- <?xml version="1.0" encoding="utf-8" ?>
- <MapRoutes>
-
- <MapRoute name="Default" url="{controller}/{action}">
- <Params>
- <Item key="controller" default="Article"/>
- <Item key="action" default="Index"/>
- </Params>
- </MapRoute>
-
- <MapRoute name="ShowArticleList" url="{controller}/{action}/{typeId}/{pageIndex}/{pageSize}">
- <Params>
- <Item key="controller" default="Article"/>
- <Item key="action" default="Index"/>
- <Item key="typeId" default="1"/>
- <Item key="pageIndex" default
来源:
说明:所有来源为 .net学习网的文章均为原创,如有转载,请在转载处标注本页地址,谢谢!
【编辑:Wyf】
打赏
扫码打赏,您说多少就多少