【发布时间】:2010-11-03 16:29:18
【问题描述】:
我认为我有一个相当容易解决的问题,但我似乎无法按照我的需要让它工作。通过 Visual Studio 运行 Web 应用程序时,我得到一个 URL,例如:http://localhost:50261/Controller/Action 但是当我将它部署到 IIS 时,URL 设置如下:http://devServer/AppName/Controller/Action。
我的 ajax URL 请求无法正确路由。在本地运行 Web 应用程序时,我的 ajax URL 是:/Controller/Action,但是当我部署到开发 IIS 时,我必须将其更改为:/AppName/Controller/Action,以便正确路由 ajax 请求。
所以我一直在尝试创建正确的 mapRoute 以将我的 ajax URL 保留为 /AppName/Controller/Action,因此我不必在每次部署时都对其进行调整。这就是我现在所拥有的,那是行不通的:
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapRoute(
"Default", // Route name
"{controller}/{action}/{id}", // URL with parameters
new { controller = "Survey", action = "Index", id = UrlParameter.Optional } // Parameter defaults
);
routes.MapRoute(
"Dev", // Route name
"AppName/{controller}/{action}/{id}", // URL with parameters
new { controller = "DefaultController", action = "Index", id = UrlParameter.Optional } // Parameter defaults
);
}
如果我尝试使用这些路由:http://localhost:50261/AppName/,它将找不到任何东西。我对自己做错了什么感到有些困惑?谢谢!
【问题讨论】:
标签: asp.net-mvc-2 routing url-routing asp.net-mvc-routing