首页 新闻 会员 周边

asp.net MVC URL Routing问题 关于routes.MapRoute()方法的参数问题

0
悬赏园豆:40 [已解决问题] 解决于 2012-01-17 10:18

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 }

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

郁闷的冰的主页 郁闷的冰 | 初学一级 | 园豆:105
提问于:2012-01-16 17:03
< >
分享
最佳答案
1

MVC其中之一的原则就是“约定用于配置”,如果个人只是根据资料,书上的理论来学习的话,有些你就搞不清楚,譬如你这个问题。建议,多找些“有声”资料或者问下身边高手的同事,这样你会学的更快。关于这个问题,MVC源码是开源的,你可以看下源码,或者谷歌,百度我想会有答案的。

MVC3源码:http://aspnet.codeplex.com/wikipage?title=MVC&referringTitle=Home

收获园豆:20
lonely_rain | 小虾三级 |园豆:752 | 2012-01-16 17:16
其他回答(3)
0

这个东西自己试一下看看

收获园豆:10
az235 | 园豆:8483 (大侠五级) | 2012-01-16 17:08
0
收获园豆:10
悟行 | 园豆:12559 (专家六级) | 2012-01-16 17:15
0

已经了解清楚,

无论是占位符{controller}{action}

还是默认参数 new {controller="Home",action="Index"}

这两个地方都必须是这么写的。

郁闷的冰 | 园豆:105 (初学一级) | 2012-01-17 10:17
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册