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 }
这两者到底哪儿是固定,哪儿是必须对应的啊。有什么对应关系啊。。。郁闷死了。
MVC其中之一的原则就是“约定用于配置”,如果个人只是根据资料,书上的理论来学习的话,有些你就搞不清楚,譬如你这个问题。建议,多找些“有声”资料或者问下身边高手的同事,这样你会学的更快。关于这个问题,MVC源码是开源的,你可以看下源码,或者谷歌,百度我想会有答案的。
MVC3源码:http://aspnet.codeplex.com/wikipage?title=MVC&referringTitle=Home
这个东西自己试一下看看
已经了解清楚,
无论是占位符{controller}{action}
还是默认参数 new {controller="Home",action="Index"}
这两个地方都必须是这么写的。