Запись маршрута asp.net mvc для корневого запроса веб-сайта

Я не могу понять, как направить asp.net mvc на нужный контроллер для запроса в корень моего сайта.

Я пробовал много разных записей в RegisterRoutes, включая:

routes.MapRoute(
     "MyHome",
      "",
      new { controller = "MyController", action = "Index", id = UrlParameter.Optional }
 );

Ошибка, которую я получаю:

Представление «Индекс» или его мастер не найдены, или механизм представления не поддерживает искомые расположения. Поиск выполнялся в следующих местах: ~/Views/Home/Index.aspx ~/Views/Home/Index.ascx ~/Views/Shared/Index.aspx ~/Views/Shared/Index.ascx ~/Views/Home/Index. cshtml ~/Views/Home/Index.vbhtml ~/Views/Shared/Index.cshtml ~/Views/Shared/Index.vbhtml

Как я могу получить корневые запросы веб-сайта, направляемые на нужный контроллер?

Обновление: по-прежнему не удалось решить проблему, поэтому был создан новый проект MVC, который работал из коробки. Я пару раз переименовывал исходный проект, так что, возможно, это где-то напортачило.


person sipsorcery    schedule 25.03.2011    source источник


Ответы (2)


Судя по сообщению об ошибке...

  1. Он идет к контроллеру под названием HomeController. Итак, я предполагаю, что у вас есть другой маршрут (может быть, по умолчанию?), Который направляет его к HomeController?

  2. Сообщение об ошибке относится к представлению, а не к контроллеру. Это отличается от маршрутизации.

Самый простой способ добиться того, о чем вы просите, - отредактировать маршрут по умолчанию, созданный при создании проекта MVC3.

route.MapRoute(
"Default", // Имя маршрута
"{controller}/{action}/{id}", // URL с параметрами
new { controller = "MyController< /strong>", action = "Index", id = UrlParameter.Optional } // Параметры по умолчанию
);

person Naraen    schedule 25.03.2011

Чтобы MyController сработало, ваш URL-адрес должен выглядеть (на основе текущей маршрутизации) http://localhost/MyController.

Глядя на вашу ошибку, у меня возникает ощущение, что вы начали с пустого шаблона проекта MVC. Так ли это?

person Pradeep    schedule 25.03.2011