Введение MVC в ASP.Net - ошибка 404 - PullRequest
0 голосов
/ 20 июля 2010

У меня есть приложение ASP.Net, в которое я пытаюсь ввести MVC2.

Надеюсь, я помню шаги, но я сделал следующее:

  1. Создан фиктивный проект MVC2.
  2. Сравнил и слил .csproj, в результате чего команды Add Item отображали элементы MVC2.
  3. Сравнил и слил web.config
  4. Сравнил иmerged the global.asax.cs
  5. Добавлены каталоги Models, Views и Controllers
  6. Добавлен HostController с действием Index и Index.aspx (без логики)
  7. Изменен маршрут для создания /Хост / Индекс по умолчанию

Так что теперь, когда я получаю доступ к приложению через корневой адрес http://localhost/MyApp, все это работает.

Но, когда я получаю доступ к http://localhost/MyApp/Host/Index Я получаю ошибку 404.Я получаю тот же результат для любого из созданных контроллеров / действий.Единственный способ заставить их появиться - это использовать значения по умолчанию в конфигурации маршрутизации.Я установил отладчик маршрута Фила Хаака , и он ничего не делает.Очевидно, есть какая-то проблема с моей маршрутизацией, но я не могу понять это.

Есть идеи, что я пропустил?

1 Ответ

0 голосов
/ 21 июля 2010

Бах ... оказывается, что это связано с IIS 5.1 и маршрутизацией MVC.

Я решил это, используя в своем приложении следующие маршруты (обратите внимание на расширения .aspx).

routes.MapRoute("Root", "", new { controller = "Host", action = "Index" });
routes.MapRoute("Default", "{controller}/{action}.aspx", new { controller = "Host", action = "Index" });

Означает, что у меня не может быть чистых маршрутов, но по крайней мере это работает.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...