Я пытаюсь настроить маршрутизацию как с обычным & Атрибут основан.ASP.NET MVC Attribute & Обычный Маршрутизация не работает
Если я использую стандартный маршрут по умолчанию, включенный в MVC, все работает. но если добавить этот атрибут маршрута, я получаю 404.
Вот запрос GET URL: http://localhost:52386/Home/SimpleSearch?searchTerms=test&dateRange=0
Вот мое RouteAttributes в кодексе:
[RoutePrefix("Home")]
public class HomeController : Controller
{
[Route("SimpleSearch/{searchTerms}/{dateRange}/{page?}")]
[HttpGet]
public ActionResult SimpleSearch(string searchTerms, DateRangeEnum dateRange, int page = 1)
{
//Code here
}
}
Также Route Config выглядит следующим образом :
public class RouteConfig
{
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapMvcAttributeRoutes();
//Default
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);
}
}
Я не понимаю, что случилось с этим RouteAttribute, но даже если что-то не так с ним, почему он не делает падать обратно на монастырь по умолчанию циональный маршрут и работа?
Это * должен * работать, но это не делает. Это также дает мне ошибку 404. – Michael
Обычная маршрутизация как-то работает .. потому что, когда я удаляю маршрутизацию атрибутов, нормальный запрос запроса выполняется нормально – Michael
Это (запрос с шаблоном URL-адреса маршрута) должен работать (я только что скопировал и вставил его и проверил). Обычный маршрут не будет работать после того, как вы украсите его определением маршрута атрибута (шаблон пользовательского URL-адреса) – Shyju