2016-02-29 4 views
0

У меня есть 2 вида с именем «Индекс» и «Контакт» в папке «Root». Я сделал следующий маршрут в global.asax.` Контроллер: rootController View: Roor/index.cshtml , Roor/Contact.cshtmlУдалить имя контроллера в MVC

public static void RegisterRoutes(RouteCollection routes) 
     { 
      routes.IgnoreRoute("{resource}.axd/{*pathInfo}"); 

      routes.MapRoute(
       name: "Contact", 
       url: "root/Contact", 
       defaults: new { controller = "Root", action = "Contact", id = UrlParameter.Optional } 
      ); 
      routes.MapRoute(
       name: "Default", 
       url: "{controller}/{action}/{id}", 
       defaults: new { controller = "Root", action = "Index", id = UrlParameter.Optional } 
      ); 

     } 

При запуске URL-адрес является http://localhost:8889/ загружается указатель страницы. , но когда я бегу за http://localhost:8889/Contact получает ошибку 404. Когда я запускаю localhost: 8889/Root/Contact успешно загружается. Я хочу запустить контакт без root в URL.

+0

* Удалите * маршрут «Контакт». Он запрашивает, что «ContactController» должен быть доступен только через «root/Contact». Корневой размер по умолчанию достаточен для соответствия имен контроллеров и контроллеров. –

ответ

0

Попробуйте удалить root/ со своего Contact маршрута, как показано ниже.

routes.MapRoute(
    name: "Contact", 
    url: "Contact", 
    defaults: new { controller = "Root", action = "Contact", id = UrlParameter.Optional } 
    ); 
+0

Почему бы не удалить маршрут целиком? –