Asp.net mvc 3 ASP.NET MVC站点作为IIS中的应用程序存在问题

Asp.net mvc 3 ASP.NET MVC站点作为IIS中的应用程序存在问题,asp.net-mvc-3,Asp.net Mvc 3,我有一个MVC项目,我刚刚作为一个应用程序安装在一个现有的IIS站点上。在测试时,路由工作正常,因为它在本地主机的根目录下运行,但当我将其部署为应用程序时,路由会出错(它试图将任何方法路由到,而不是路由到)。我知道这应该是一件相当简单的事情来解决,我就是想不出谷歌喜欢的正确措辞。 FWIW,我尝试执行以下操作,但它开始抛出403个错误: routes.MapRoute( "Default", // Route name "bar/{controll

我有一个MVC项目,我刚刚作为一个应用程序安装在一个现有的IIS站点上。在测试时,路由工作正常,因为它在本地主机的根目录下运行,但当我将其部署为应用程序时,路由会出错(它试图将任何方法路由到,而不是路由到)。我知道这应该是一件相当简单的事情来解决,我就是想不出谷歌喜欢的正确措辞。
FWIW,我尝试执行以下操作,但它开始抛出403个错误:

routes.MapRoute(
            "Default", // Route name
            "bar/{controller}/{action}/{id}", // URL with parameters
            new { controller = "Home", action = "Index", id = UrlParameter.Optional } // Parameter defaults
        );
最初,该URL是“{controller}/{action}/{id}”,而不是“site/…”


有什么想法吗

我认为您正在尝试将一些模块分离到其他子文件夹结构中。你试过使用这些区域吗

仅仅使用现有url来重新路由并不容易


相反,尝试用鼠标右键单击VS2010项目并添加一个区域。该区域下的所有控制器和视图都将归入一个子文件夹。例如,我有一个类似于

的url,请确保在get/post调用中调用的是
url.Content(“~/”
),而不仅仅是
“~/”

我以前在一些mvc项目中遇到过这个问题,所以我想这就是发生的事情

祝你好运


(如果不可以将我的评论作为答案发布,我将删除此内容)

您是否确保在get/post调用中调用
Url.Content(“~/”
),而不仅仅是
“~/”
。我是MVC新手,只是直接输入Url,而不是Url.Content。谢谢很高兴我能帮忙。我把我的评论作为一个答案转发给你,这样你就可以把它作为首选答案(当然,如果它对你有帮助的话)父站点和mvc应用程序在两个不同的项目中。它们只在生产环境中结合在一起。不过,我将来会研究这个问题。事实证明,我使用的是直接的Url,而不是像Evan Layman在我帖子的评论中所说的Url.Content。我同意,我只是在等你写一个答案,这样我就可以将它标记为解决方案。