Обработка события onchange в HTML.DropDownList Razor MVC
Я обрабатываю событие onchange
с выбранным значением простым HTML следующим образом:
<select onchange="location = this.value;">
<option value="/product/categoryByPage?PageSize=15" selected="selected">15</option>
<option value="/product/categoryByPage?PageSize=30" selected="selected">30</option>
<option value="/product/categoryByPage?PageSize=50" selected="selected">50</option>
</select>
Выполнение этого:
List<SelectListItem> items = new List<SelectListItem>();
string[] itemArray = {"15","30","50"};
for (int i = 0; i < itemArray.Count(); i++)
{
items.Add(new SelectListItem
{
Text = itemArray[i],
Value = "/product/categoryByPage?pageSize=" + itemArray[i]
});
}
ViewBag.CategoryID = items;
@Html.DropDownList("CategoryID")
Как я могу обрабатывать onchange
с помощью @Html.DropDownList()
Ответы
Ответ 1
Описание
Вы можете использовать другую перегрузку метода DropDownList
. Выберите тот, который вам нужен, и пройдете
объект с вашими атрибутами html.
Пример
@Html.DropDownList("CategoryID", null, new { @onchange="location = this.value;" })
Дополнительная информация
Ответ 2
Способ dknaack не работает для меня, я нашел это решение:
@Html.DropDownList("Chapters", ViewBag.Chapters as SelectList,
"Select chapter", new { @onchange = "location = this.value;" })
где
@Html.DropDownList(controlName, ViewBag.property + cast, "Default value", @onchange event)
В контроллере вы можете добавить:
DbModel db = new DbModel(); //entity model of Entity Framework
ViewBag.Chapters = new SelectList(db.T_Chapter, "Id", "Name");