Ответ 1
Вы можете использовать событие клиента onchange:
<%= Html.DropDownList("qchap",
new SelectList( (IEnumerable)ViewData["qchap"], "Id", "Title" ),
new { onchange = "this.form.submit();" }) %>
Я использую asp.net MVC framework. На моей странице у меня есть dropdwonbox, и когда нажимается опция, я хочу перейти на другую страницу. Но я не могу найти, как/где установить для свойства autopostback значение true. Это код, который я использую:
Aspx:
<%= Html.DropDownList("qchap", new SelectList( (IEnumerable)ViewData["qchap"], "Id", "Title" )) %>
Контроллер:
public ActionResult Index(int id)
{
Chapter c = new Chapter();
ViewData["qchap"] = c.GetAllChaptersByManual(id);
return View();
}
Что мне нужно сделать, чтобы использовать функции автозапуска?
Вы можете использовать событие клиента onchange:
<%= Html.DropDownList("qchap",
new SelectList( (IEnumerable)ViewData["qchap"], "Id", "Title" ),
new { onchange = "this.form.submit();" }) %>
Кажется, вспомогательный метод DropDownList не поддерживает это. Может быть, использовать его в форме и настраиваемый пользовательский атрибут html для отправки формы.
Я тоже считаю, что вы можете настроить свою обратную передачу для formsCollection
postback общедоступный индекс ActionResult (форма формы FormsCollection)
(Я не на своем домашнем ПК, где установлен MVC, поэтому я не могу проверить синтаксис здесь)
Я решаю использовать этот код.
Function Index(ByVal collectionField As FormCollection) As ActionResult
Dim industryCategoryID As Long = collectionField.Item("ddlIndustry")
If industryCategoryID = 0 Then
Me.ViewData("IndustryList") = GlobalController.GetIndustryList
Return View(_service.ListCompanies())
Else
Me.ViewData("IndustryList") = GlobalController.GetIndustryList
Return View(_service.ListCompanies(industryCategoryID))
End If
End Function
Что для функции ActionResult
И затем для представления
<p>
<% Using Html.BeginForm()%>
<%=Html.DropDownList("ddlIndustry", New SelectList(CType(ViewData("IndustryList"), IEnumerable), "ID", "Name"), "--Choose industry--", New With {.onchange = "this.form.submit()"})%>
<% End Using %>
</p>
Надеюсь, это поможет. Я бы хотел получить более полные коды, пожалуйста, напишите мне по адресу [email protected]