日期:2014-05-17  浏览次数:20508 次

asp.net MVC URL Routing问题 关于routes.MapRoute()方法的参数问题
VS2010 MVC3模板建立的项目,默认这么写
routes.MapRoute(
  "Default", // 路由名称
  "{controller}/{action}/{id}", // 带有参数的 URL
  new { controller = "Home", action = "Index", id = UrlParameter.Optional } // 参数默认值
  );
一切没问题,启动项目就能找到默认页面。
但是换个写法,如下
  routes.MapRoute(
  "Default", // 路由名称
  "{a}/{b}/{id}", // 带有参数的 URL
  new { controller = "Home", action = "Index", id = UrlParameter.Optional } // 参数默认值
  );

就不能识别默认页那条路由。。。。这是什么原因。。
想请问下,"{controller}/{action}/{id}"必须这么写吗?不能替换成{a}{b}{c}吗?
 还有 new { controller = "Home", action = "Index", id = UrlParameter.Optional }必须这么写吗? 能不能写成new { a= "Home", b= "Index", x = UrlParameter.Optional }

这两者到底哪儿是固定,哪儿是必须对应的啊。有什么对应关系啊。。。郁闷死了。

------解决方案--------------------
"{a}/{b}/{id}", // 带有参数的 URL
new { a= "Home", b= "Index", id = UrlParameter.Optional }
------解决方案--------------------
controller 和 action是必须的,其他参数可以随便加
------解决方案--------------------
C# code

routes.MapRoute(
"Meeting";
"/Path/Meeting/{action}/{id}";
new {controller = "Meeting", action = "Index", id = UrlParameter.Optional}

);