在退出许多其他路线后,我的这两条路线目前在我的应用程序中。让我首先解释一下,我已经有了一个很大的应用程序,但是我的应用程序不再从根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”} );
任何帮助表示赞赏
答案 0 :(得分:1)
我认为你正试图点击
http://server/{controller}/{action}/{id}
带
http://server/
如果您认为您需要为最后一个参数{id}提供默认值。你有一个参数slug的默认值但没有{id}的默认值我不认为ASP.NET Routing可以命中它。
如果我是对的
http://server/Pages/Display
也应该不会达到默认路由,因为你期望显示中的id?
HTH 亚历