Asp.net mvc 4 ASP.NET MVC 4:使用与路由名称不同的区域文件夹名称注册路由

Asp.net mvc 4 ASP.NET MVC 4:使用与路由名称不同的区域文件夹名称注册路由,asp.net-mvc-4,routing,Asp.net Mvc 4,Routing,我只想配置已注册路由的位置,而不是使用该区域的文件夹名称作为查找其视图、控制器等的位置 比如,;在我的MVC4Web应用程序中,我有一个路径为“~/Areas/Orders”的文件夹。在“订单”区域下,我有一个“HomeController”、“Index()”操作和一个“Index.cshtml”视图文件 但是,我希望在不更改“Orders”文件夹名称的情况下,将“Orders”区域的URL路由替换为“O”。因此,使用我的网站的客户会浏览到“www.mysite.com/O/Home/Inde

我只想配置已注册路由的位置,而不是使用该区域的文件夹名称作为查找其视图、控制器等的位置

比如,;在我的MVC4Web应用程序中,我有一个路径为“~/Areas/Orders”的文件夹。在“订单”区域下,我有一个“HomeController”、“Index()”操作和一个“Index.cshtml”视图文件

但是,我希望在不更改“Orders”文件夹名称的情况下,将“Orders”区域的URL路由替换为“O”。因此,使用我的网站的客户会浏览到“www.mysite.com/O/Home/Index”,而不是“www.mysite.com/Orders/Home/Index”


任何建议都将不胜感激。

您应该可以在您的
区域注册中这样更改路线

context.MapRoute("Orders_default",
                "o/{controller}/{action}/{id}",
                new {action = "Index", area = "Orders", id = UrlParameter.Optional});

谢谢@mmillican。我尝试过这样做,但这样做意味着我的所有文件(控制器、视图)都必须放在名为“O”的文件夹下。然而,我想将它们放在一个名为“orders”的文件夹中,并将区域命名为“O”。我更新了代码,添加了`area=“orders”`。试试看,如果有帮助的话,告诉我!就这样!再次感谢@mmillican:-)