Rya*_*ook 13 c# asp.net asp.net-mvc routing
我是MVC(和ASP.Net路由)的新手.我正在尝试将*.aspx映射到一个名为的控制器*.aspx.
routes.MapRoute(
"Page",
"{name}.aspx",
new { controller = "Page", action = "Index", id = "" }
);
Run Code Online (Sandbox Code Playgroud)
上面的代码不会映射*.aspx PageController吗?当我运行它并输入任何.aspx页面时,我收到以下错误:
无法找到路径"/Page.aspx"的控制器,或者它没有实现IController接口.参数名称:controllerType
有什么我不在这里做的吗?
我刚回答了自己的问题.我向后退了路线(默认在页面上方).以下是正确的订单.所以这就提出了下一个问题......"默认"路由如何匹配(我假设它们在这里使用正则表达式)"Page"路由?
routes.MapRoute(
"Page",
"{Name}.aspx",
new { controller = "Page", action = "Display", id = "" }
);
routes.MapRoute(
"Default", // Route name
"{controller}/{action}/{id}", // URL with parameters
new { controller = "Home", action = "Index", id = "" } // Parameter defaults
);
Run Code Online (Sandbox Code Playgroud)
我刚回答了自己的问题.我向后退了路线(默认在页面上方).
是的,您必须将所有自定义路由放在默认路由之上.
所以这就提出了下一个问题......"默认"路由如何匹配(我假设它们在这里使用正则表达式)"Page"路由?
默认路由根据我们称之为约定优于配置的内容进行匹配.Scott Guthrie在他关于ASP.NET MVC的第一篇博文中很好地解释了这一点.我建议你仔细阅读它以及其他帖子.请记住,这些是基于第一个CTP发布的,并且框架已经更改.您还可以在Scott Hanselman的asp.net网站上找到ASP.NET MVC上的网络广播.
| 归档时间: |
|
| 查看次数: |
21748 次 |
| 最近记录: |