2012-02-06 3 views
1

Это мой первый проект MVC, и мой клиент не хочет никаких ссылок, таких как xxx.com/Home/Index или что-то в этом роде. Когда я меняю имя своего контроллера, браузер ищет/Home, и это дает мне пример. Бек нет HomeController.MVC 3 Изменение основного маршрута

Как я могу изменить его по умолчанию контроллер «Домой» с другим.

ответ

4

Просто измените ваш По умолчанию маршрут:

По умолчанию маршрут, созданный в Global.asax(без изменений)

 routes.MapRoute(
      "Default", // Route name 
      "{controller}/{action}/{id}", // URL with parameters 
      new { controller = "Home", action = "Index", id = UrlParameter.Optional } // Parameter defaults 
     ); 

Измените значения по умолчанию для параметров (controller, action, и т.д.). Что-то вроде этого:

Модифицированный По умолчанию маршрут(Измененная)

 routes.MapRoute(
      "Default", // Route name 
      "{controller}/{action}/{id}", // URL with parameters 
      new { controller = "YourNewController", action = "SomeOtherAction", id = UrlParameter.Optional } // Parameter defaults 
     ); 
+0

Даже у меня такая же проблема, я изменился как в маршрутах. Maproute(), но теперь это ни один из них не будет ни Главная, ни конкретный контроллер. – Sravan

1

Маршруты устанавливаются в Global.asax файл в RegisterRoutes(RoteCollection routes) рутина. Маршрут по умолчанию определяется как:

routes.MapRoute(
     "Default", // Route name 
     "{controller}/{action}/{id}", // URL with parameters 
     new { controller = "Home", action = "Index", id = UrlParameter.Optional } // Parameter defaults 
    ); 

Вы должны были бы изменить "Home" часть нового имени контроллера.

Вы также можете настроить дополнительные маршруты (см. here).

Смежные вопросы