saeed1364 Ответов: 1

как было найдено несколько типов sloved, которые соответствуют названному контроллеру


я вижу эту ошибку
Было найдено несколько типов, которые соответствуют контроллеру с именем "Home". Это может произойти, если маршрут, обслуживающий этот запрос ('{Controller}/{action}/{id}'), не указывает пространства имен для поиска контроллера, соответствующего запросу. Если это так, зарегистрируйте этот маршрут, вызвав перегрузку метода "MapRoute", который принимает параметр "пространства имен".

Запрос на "домашний" нашел следующие соответствующие контроллеры:
Сеть.Области.BaseAdmin.Контроллеры.HomeController
Веб-Контроллеры.HomeController
public static void RegisterRoutes(RouteCollection routes)
      {
          routes.IgnoreRoute("{resource}.axd/{*pathInfo}");

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

         routes.MapRoute(
              name: "baseadmin",
           url: "BaseAdmin/Home/{action}/{id}",
              defaults: new
              {
                  controller = "BaseAdmin/Home",
                  action = "Index",
                  issueId = UrlParameter.Optional,
                  projectId = UrlParameter.Optional
              }
          );
      }
  }

1 Ответов

Рейтинг:
1

Member 14221658

you can mention the namespace in the route config as explained below:

 routes.MapRoute(
              name: "Default",
              url: "{Controller}/{action}/{id}",
              defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional },
namespaces: Web.Controllers
          );

         routes.MapRoute(
              name: "baseadmin",
           url: "BaseAdmin/Home/{action}/{id}",
              defaults: new
              {
                  controller = "BaseAdmin/Home",
                  action = "Index",
                  issueId = UrlParameter.Optional,
                  projectId = UrlParameter.Optional
              },
           namespaces:Web.Areas.BaseAdmin.Controllers
          );