【发布时间】:2015-06-18 05:08:30
【问题描述】:
我知道以前有人出现过这个错误,但这似乎是一个特殊情况。
我一直致力于在 ASP.NET MVC 4 之上使用 ReactJS 建立一个 SPA。在我的机器上运行一切都没有问题。但是,我看到的奇怪问题是它不适用于其他开发人员的任何其他机器。据我所见,我没有任何未在源代码管理下签入的文件。我已经使用了 RouteDebugger,并且看到了正确的路线。
我用于此 SPA 的路线是 /V2/Home。所以我有一个名为“V2”的区域,该区域中有一个名为“HomeController”的 MVC 控制器,它有一个名为“Index”的视图。我在 V2AreaRegistration 中设置了一个包罗万象。
public override void RegisterArea(AreaRegistrationContext context)
{
context.MapRoute(
"V2_default",
"V2/{*url}",
new { area = "V2", controller = "Home", action = "Index" }
);
}
这是 Global.asax.cs 中的 Application_Start
protected void Application_Start()
{
AreaRegistration.RegisterAllAreas();
GlobalConfiguration.Configure(WebApiConfig.Register);
FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
RouteConfig.RegisterRoutes(RouteTable.Routes);
BundleConfig.RegisterBundles(BundleTable.Bundles);
AuthConfig.RegisterAuth();
AutoMapperConfiguration.Configure();
Logger.Info("Application started");
GlobalConfiguration.Configuration.EnsureInitialized();
}
我对此一无所知。我很想解决这个问题。如有任何遗漏,请随时提出。
【问题讨论】:
-
您的主站点中是否也有 HomeController?如果是这样,您需要在此处使用 MapRoute 的命名空间参数指定要使用的命名空间,否则 MVC 将不知道要使用哪个“HomeController”。要么这样,要么将名称更改为 V2HomeController 或类似的名称。
-
对您计算机上的另一个文件夹进行干净的签出并尝试运行该站点,或使用 WinMerge 之类的工具来比较目录。
-
@TiesonT。我已经这样做了,它在我的机器上仍然可以正常工作
-
@ErikFunkenbusch 据我所知,项目中没有其他 HomeController。
-
ReactJS 路由用什么?您是否尝试过将您的路线更改为完整的
V2/{controller}/{action}/{id}?
标签: asp.net asp.net-mvc asp.net-mvc-4 asp.net-mvc-routing asp.net-mvc-areas