Поисковый маршрут в ASP.NET MVC

У меня есть простая поисковая форма на моей основной странице и поисковый контроллер и представление. Я пытаюсь добраться, следующий маршрут для поиска строки называют "myterm" (например): root/search/myterm

Форма на основной странице:

<% using (Html.BeginForm("SearchResults", "Search", FormMethod.Post, new { id = "search_form" }))
                           { %>
                        <input name="searchTerm" type="text" class="textfield" />
                        <input name="search" type="submit" value="search" class="button" />
                        <%} %>

Действие контроллера:

public ActionResult SearchResults(string searchTerm){...}

Маршрут я Использую:

routes.MapRoute(
          "Search",
          "search/{term}",
          new { controller = "Search", action = "SearchResults", term = (string)null }
        );

routes.MapRoute(
          "Default",
          "{controller}/{action}",
          new { controller = "Home", action = "Index" }
        );

Я всегда получаю URL "корень/поиск" без критерия поиска, какой критерий поиска я ввожу.

Спасибо.

7
задан DaveRandom 25 February 2013 в 22:10
поделиться

2 ответа

Итак, если я правильно вас понял, вы пытаетесь проложить маршрут, чтобы можно было перейти к http: // www. .whatever.com / search / blah , и вы будете перенаправлены к действию SearchResults с параметром searchTerm, равным «blah».

Об этом позаботится следующий маршрут:

routes.MapRoute(
              "Search",
              "search/{searchTerm}",
              new { controller = "Search", action = "SearchResults" }
            );

Убедитесь, что маршрут задан ПЕРЕД маршрутом по умолчанию, иначе сначала будет сопоставлен маршрут по умолчанию. Обратите внимание, что термин "термин" изменен на "searchTerm", чтобы соответствовать параметру в вашем действии. Это необходимо.

3
ответ дан 7 December 2019 в 09:59
поделиться

Вы используете идентификатор в теге beginform и {term} в маршруте.

Эти двое должны совпадать.

3
ответ дан 7 December 2019 в 09:59
поделиться
Другие вопросы по тегам:

Похожие вопросы: