Asp.net NETMVC路由问题

Asp.net NETMVC路由问题,asp.net,asp.net-mvc,routes,Asp.net,Asp.net Mvc,Routes,我一直在用Route Debugger测试一些选项,但运气不好。让我描述一下我正在尝试的: 我已将所有路线翻译为以下内容,我需要将其从英语翻译为葡萄牙语,有时还需要简化: routes.MapRoute("Article.Create", "cms/artigo/criar", new { controller = "Article", action = "Create" }); 一切正常。因为我已经定义了所有的路由,所以我想我不需要默认路由。所以我有点像: /

我一直在用Route Debugger测试一些选项,但运气不好。让我描述一下我正在尝试的:

我已将所有路线翻译为以下内容,我需要将其从英语翻译为葡萄牙语,有时还需要简化:

routes.MapRoute("Article.Create", "cms/artigo/criar",
                new { controller = "Article", action = "Create" });
一切正常。因为我已经定义了所有的路由,所以我想我不需要默认路由。所以我有点像:

// Other translation routes
routes.MapRoute("Article.Create", "cms/artigo/criar",
                new { controller = "Article", action = "Create" });
routes.MapRoute("Article.Edit", "cms/artigo/editar/{id}",
                new { controller = "Article", action = "Edit", id = "" });
routes.MapRoute("Home.Index", "inicio",
                new { controller = "Home", action = "Index" });
routes.MapRoute("Home.Contact", "contacto",
                new { controller = "Home", action = "Contact" });

// Error Unknown
routes.MapRoute("Error.Unknown", "erro",
                new { controller = "Error", action = "Unknown" });

// Start
routes.MapRoute("Start", "_Default.aspx",
                new { controller = "Home", action = "Index" });

// Error NotFound
routes.MapRoute("Catch.All", "{*path}",
                new { controller = "Error", action = "NotFound", path = "" });
如果根目录在转换映射中没有匹配项,则如果是未知错误,则仅显示 如果没有,则尝试匹配主/索引。 最后转到catch all route并仅显示路径,如下所示

在我的Web.Config上,我有:

<customErrors mode="On" defaultRedirect="~/Error/Unknown">
  <error statusCode="404" redirect="~/Error/NotFound" />
</customErrors>
当我启动我的站点时,它总是转到NotFound错误,而不是开始页面


我做错了什么?

您已经定义了唯一指向您主页的URL是~/yourapp/\u Default.aspx,但您的起始URL是~/yourapp/,它将被您的Catch.All路由正确拦截。 您必须将起始路线更改为:

MapRoute("Start", "", new { controller = "Home", action = "Index" });
顺便说一句:如果你想对你的路线进行单元测试,你可能会对此感兴趣:。
我提供了一个以表格形式测试路线的测试夹具-如果您有许多可能的路线示例代码可用,这将是一个理想选择。

如果您可以编辑问题并修改代码,使其显示为代码,则会更容易。单击101010按钮并将代码粘贴到其中。为什么不使用有问题的代码小部件突出显示代码