У меня есть URL / products / search, где Products - это контроллер, а Search - это действие. Этот URL содержит форму поиска, атрибут действия которой (и всегда должен быть) / products / search, например;
<%using( Html.BeginForm( "search", "products", FormMethod.Post))
Это работает нормально, пока я не введу подкачку в результатах поиска. Например, если я ищу «т», я получаю список с постраничной рассылкой. Итак, на странице 2 мой URL выглядит так:
/products/search/t/2
Показывает страницу 2 набора результатов для поиска "t". Проблема в том, что форма действия теперь также / products / search / t / 2. Я хочу, чтобы форма всегда публиковалась в /products/search.
Мои маршруты:
routes.MapRoute( "Products search",
"products/search/{query}/{page}",
new { controller = "Products", action = "Search", query = "", page = 1 });
routes.MapRoute( "Default",
"{controller}/{action}/{id}",
new { controller = "Home", action = "Index", id = "" });
Как заставить Html.BeginForm () или, более конкретно, Url.Action ("Поиск", "Продукты"), игнорировать страницу / query / в URL-адресе?
Спасибо