У меня есть частичное представление (search.ascx), которое содержит раскрывающийся список, текстовое поле и кнопку отправки.
При нажатии кнопки отправки мне бы хотелось, чтобы метод действия формы отражал выбранное значение в раскрывающемся списке.
например. drowpdownlist содержит такие значения, как:
Итак, выбрав «VHS», окончательный URL-адрес действия должен быть:
site.com / DVD? Поиск = TextDefinedInTheTextField.
Как это сделать?
Текущая реализация
<% using(Html.For.BeginForm("List", "Products", FormMethod.Get)) { %>
<%: Html.DropDownListFor(model => model.CategoryName, Model.TopLevelCategoriesList, new {@class = "searchCategoryDropDown" })%>
<%: Html.TextBoxFor(x => x.SearchString, new {@class = "searchField" })%>
<a>
<input class="searchBtn" id="searchButton" type="submit" value="Søg" />
</a>
<% } %>
Проблема с вышеприведенной реализацией состоит в том, что созданный тег «form» является статическим и не отражает значение раскрывающегося списка.
Есть идеи?
ОБНОВЛЕНИЕ РЕШЕНИЯ
Итак, я понял, что с помощью Jquery вы можете динамически изменять действие в форме.
$(function () {
$('#searchForm').submit(function () {
this.action = $('#searchCategory').val();
return true;
});
});