2011-09-22 162 views
0

我有一个MVC应用程序设置作为根应用程序。在那个根目录中,我有一个虚拟目录,也是一个MVC应用程序。我需要从根应用程序导航到虚拟目录。第一个障碍是找到在另一个命名空间中存在的控制器,而我能做到这一点如下..将ASP.NET MVC根应用程序路由到MVC虚拟目录

Dim namespaceControllers() As String = {"ExternalAssemblyName"} 

    routes.MapRoute(_ 
     "virtualroute", _ 
     "ExternalAssemblyName/{controller}/{action}/{id}", _ 
     New With {.controller = "testvir", .action = "Index", .id = ""}, _ 
     namespaceControllers _ 
    ) 

    routes.MapRoute(_ 
     "Default", _ 
     "{controller}/{action}/{id}", _ 
     New With {.controller = "Home", .action = "Index", .id = ""} _ 
    ) 

它正确地找到控制器,但它仍试图找到应用程序根的观点,而不是虚拟目录。如果我将视图从虚拟目录移动到根目录,它将起作用。

回答

0

路线可能会很棘手。我不能在没有看到您的应用程序的情况下推荐修补程序(具有更多经验的人可能能够),但我可以建议安装RouteDebugger tool以帮助解决路由问题。它帮助我解决了多次路由问题。

它也可作为NuGet包使用。

相关问题