Использование Dropdownlist для навигации в MVC 3 - PullRequest
3 голосов
/ 08 декабря 2011

Привет! Я использую раскрывающийся список для заполнения продуктов, используя:

 @Html.DropDownList("Product", new SelectList(Model.Products, "ProductUrl", "ProductName"))

Что отображается как:

<select id="Product" name="Product">
<option value="http://www.domain.co.uk/test?specs=5">produc1</option>

<option value="http://www.domain.co.uk/test?specs=6">product2</option>

<option value="http://www.domain.co.uk/test?specs=7">product3</option>

</select>

То, что я хочу сделать, - это когда определенный продукт выбран, система должна перейти к значению параметра этого продукта, например, если продукт1 выбран клиентом из выпадающего списка, веб-сайт должен перейти к http://www.domain.co.uk/test?specs=5, которое является значением опции для этого продукта1,

Есть идеи, как это сделать .. ?? Спасибо

Ответы [ 3 ]

5 голосов
/ 08 декабря 2011

Вы можете использовать любой из следующих методов, Pure Javascript или jQuery:

JQuery:

$("#Product").change(function()
{
     location.href = $(this).val();
});

Рабочий пример

Javascript:

<select id="Product" name="Product" onChange='location.href = this.value'>

Рабочий пример

2 голосов
/ 08 декабря 2011

Самый простой способ - добавить обработчик onchange

Html.DropDownList("Product", new SelectList(Model.Products, "ProductUrl", "ProductName"), new {onchange="javascript:location.href=this.options[this.selectedIndex].value;"})

Или вы можете использовать метод jquery Рионмонстера, который делает то же самое.

2 голосов
/ 08 декабря 2011

Это действительно плохое удобство использования с точки зрения html - для навигации есть гиперссылки.Формы предназначены для работы с данными.

При этом вам нужно захватить событие onchange раскрывающегося списка в javascript, а затем использовать выбранное значение для перехода на страницу.

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