У меня странная ошибка при использовании атрибутной маршрутизации со следующими двумя контроллерами:
[Route("{action=Index}")]
public class HomeController : Controller
{
public ActionResult Index()
{
return View();
}
}
[RoutePrefix("search")]
[Route("{action=Index}")]
public class SearchController : Controller
{
public ActionResult Index(string searchTerm)
{
return View();
}
}
И в конфигурации маршрута:
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapMvcAttributeRoutes();
Как видите, второй контроллер долженесть префикс поиска
Однако, если я захожу в dev.local / search? searchterm = test
Я получаю сообщение об ошибке
Запрос обнаружил следующеесоответствующие типы контроллеров: Marshalls.WebComponents.Web.Controllers.SearchController Marshalls.WebComponents.Web.Controllers.HomeController
Если я удаляю [Route("{action=Index}")]
из homecontroller, он будет работать нормально, но тогда яне могу попасть на домашнюю страницу, используя http://dev.local/
Этого раньше не было и обычно все работает нормально, поэтому мне интересно, может ли кто-нибудь заметить что-то очевидное, что я испортил