Перенаправление на контроллер / просмотр при изменении выпадающего списка - PullRequest
2 голосов
/ 07 октября 2009

ASP.NET MVC приложение. У меня есть Html.DropDownList. Я хочу перенаправить на другой контроллер при изменении выбора и хочу, чтобы ключ выбранного элемента раскрывающегося списка был в качестве параметра в URL.

Как мне поступить об этом?

Спасибо

Ответы [ 2 ]

3 голосов
/ 07 октября 2009

Вы должны использовать JavaScript, чтобы сделать это:

<select onchange="OnChangeEvent(this);">
 <option value="1">option 1</option>
 <option value="2">option 2</option>
</select>

<script type="text/javascript">
<!--
 function OnChangeEvent(dropDownElement){
  var selectedValue = dropDownElement.options[dropDownElement.selectedIndex].value;
  document.location = "/some/mvc/route/" + selectedValue;
 }
//-->
</script>
2 голосов
/ 07 октября 2009

Вам нужно будет сделать это с помощью Javascript; Я бы порекомендовал использовать JQuery. Кроме того, поместите раскрывающийся список в форме, методе get и действии URL контроллера / действия. Затем установите событие click, чтобы опубликовать форму.

Итак, ваш HTML будет выглядеть примерно так:

<form id="myForm" action="/Controller/Action" method="get">
    <select id="mySelect">...</select>
</form>

А в jquery что-то вроде:

$('#mySelect').change(function() { $('#myForm').submit(); });

Обратите внимание, что вы можете использовать помощник Html.Form () для создания формы. Кроме того, я бы порекомендовал иметь кнопку отправки в форме, которую вы можете скрыть с помощью JavaScript. Тогда люди, у которых отключен JS, все еще могут отправить форму.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...