ASP.NET MVC - 在子目录中运行

时间:2010-01-20 18:52:36

标签: asp.net-mvc routing subdirectory

我正在尝试在现有应用程序的子目录中部署ASP.NET MVC应用程序,但我遇到了一些路由问题。我已经设置了文件夹结构,以便MVC应用程序的所有二进制文件和配置文件都正确地位于根目录中,而其余内容位于子目录中。另外,我更新了MVC应用程序中的所有路由以反映子目录;但是,每个请求都会产生:

  

传入的请求不匹配   任何路线。

忽略所有已定义的路由,包括默认路由:

routes.MapRouteLowercase(
    "Main_Default",
    "blog/{controller}/{action}/{id}",
    new { controller = "Home", action = "Index", id = "" }
);

我尝试启用RouteDebug来测试问题,但即使这样也没有路由到。关于我还能尝试什么的任何建议?

注意:此问题 a duplicate

2 个答案:

答案 0 :(得分:0)

尝试将其作为虚拟目录而不仅仅是目录运行,否则不会调用您的路由。您不需要将虚拟目录的名称放在路由中。

这是我在v-dir MVC应用程序中设置的路线,工作得很好......

routes.MapRoute(
    "Default",                                              // Route name
    "{controller}/{action}/{id}",                           // URL with parameters
    new { controller = "Tour", action = "Index", id = "" }  // Parameter defaults
);

答案 1 :(得分:0)

看起来我发现了问题。

除了二进制文件和配置文件之外,还必须将Global.asax放在根目录中,以便执行其代码。

谢谢你们。 :)