ASP.NET MVC Создать строку запроса из формы - PullRequest
1 голос
/ 13 сентября 2010

Я пытаюсь создать простое окно поиска, которое приводит к чему-то вроде http://www.example.com/Search?s=searchTerm У меня есть настройка маршрутизации, так что он принимает URL-адрес, как это, и делает правильные вещи. У меня проблема с получением формы для создания строки запроса. Я пробовал много вариантов:

<% using (Html.BeginForm("Search", "Home", FormMethod.Get, new { ???? })) {%>
<input id="submitSearch" class="searchBox" type="text" runat="server"/>
<input type="submit" value="Search" /> <%} %>

Я не уверен, как настроить Html.BeginForm, чтобы он захватывал значение submitSearch и передавал его в / Search? S = valueHere. Кажется, я упускаю что-то простое.

1 Ответ

10 голосов
/ 13 сентября 2010

Вам необходимо установить name в поле ввода на s.

<% using (Html.BeginForm("Search", "Home", FormMethod.Get, new { })) { %>
    <input id="s" name="s" class="searchBox" type="text" />
    <input type="submit" value="Search" />
<% } %>

Кроме того, обратите внимание, что я также изменил id на s, поскольку обычная практика - иметь одинаковые значения для name и id. Однако только имя атрибута name влияет на имя строки запроса в запросе.
И, как отметил Дэвид в комментарии, runat="server" не требуется в ASP.NET MVC.

...