ASP.NET MVC中的奇怪路由问题 - 未命中默认路由

时间:2009-09-27 08:19:28

标签: asp.net-mvc

在退出许多其他路线后,我的这两条路线目前在我的应用程序中。让我首先解释一下,我已经有了一个很大的应用程序,但是我的应用程序不再从根URL开始了。

如果我将起始页面设置为default.aspx,那么webapp将从(示例)http://localhost:55421/Default.aspx开始。我不希望这样。我想要它没有Default.aspx

所以我进入app属性并删除Default.aspx作为起始页 - 现在它是空白字段(就像在VS 2008中创建它时的示例新MVC应用程序一样)。

但是现在应用程序确实从所需的URL开始但发出错误: “传入的请求与任何路由都不匹配。”

另外如果我使用路由调试器,它也会错过所有路由并通过catchall路由捕获它。

我不知道所有这一切是如何可能的,因为正如我上面所说,我目前配置了两条默认路由:

routes.IgnoreRoute( “{}资源个.axd / {*} PATHINFO”); routes.MapRoute(     “默认”,     “{controller} / {action} / {id}”,//带参数的网址     new {controller =“Pages”,action =“Display”,slug =“Default”} );

任何帮助表示赞赏

1 个答案:

答案 0 :(得分:1)

我认为你正试图点击

http://server/{controller}/{action}/{id} 

http://server/

如果您认为您需要为最后一个参数{id}提供默认值。你有一个参数slug的默认值但没有{id}的默认值我不认为ASP.NET Routing可以命中它。

如果我是对的

http://server/Pages/Display 

也应该不会达到默认路由,因为你期望显示中的id?

HTH 亚历