Как мне перейти к / Configuration / URL в ASP.NET MVC3? - PullRequest
1 голос
/ 10 августа 2011

Это для веб-приложения ASP.NET MVC3. В RegisterRoutes у меня есть единственная строка:

routes.MapRoute("Default", "Configuration", new { controller = "DeviceConfiguration", action = "Index" });

Когда я запускаю проект, переход к URL / Конфигурация / выдает ошибку 404. Однако, если я изменю слово «Конфигурация» на любое другое слово, например:

routes.MapRoute("Default", "Configuratio", new { controller = "DeviceConfiguration", action = "Index" });

Тогда переходя по URL / Configuratio / загружается просто отлично. Кажется, что ASP.NET просто отказывается направлять на URL /Configuration/.

Опять же, это единственная строка в RegisterRoutes; Я пытался закомментировать все остальное, чтобы отладить это. В моем коде больше нет вызовов MapRoute или IgnoreRoute, и я не редактирую таблицу маршрутизации в любом месте.

Как я могу изменить это поведение?

1 Ответ

0 голосов
/ 10 августа 2011

Я подозреваю, что у вас есть физическая папка с именем Configuration в корне вашего приложения. Механизм маршрутизации ASP.NET MVC предпочитает физические папки, а не маршруты. Один из возможных способов - установить для свойства RouteExistingFiles значение true после определения маршрута:

routes.MapRoute(
    "Default", 
    "Configuration", 
    new { controller = "DeviceConfiguration", action = "Index" 
});
routes.RouteExistingFiles = true;
...