c# - tutorial - razor mvc
C#¿Cómo configurar la propiedad autopostback al usar asp.net mvc? (4)
Parece que el método de ayuda DropDownList no admite esto. Tal vez usándolo dentro de un formulario y un atributo html personalizado personalizado para enviar el formulario.
Estoy usando el framework MVC de asp.net. En mi página tengo un dropdwonbox y cuando se hace clic en una opción quiero ir a otra página. Pero no puedo encontrar cómo / dónde establecer la propiedad autopostback en true. Este es el código que estoy usando:
Aspx:
<%= Html.DropDownList("qchap", new SelectList( (IEnumerable)ViewData["qchap"], "Id", "Title" )) %>
Controlador:
public ActionResult Index(int id)
{
Chapter c = new Chapter();
ViewData["qchap"] = c.GetAllChaptersByManual(id);
return View();
}
¿Qué tengo que hacer para usar la funcionalidad autopostback?
Puede utilizar el evento de cliente onchange:
<%= Html.DropDownList("qchap",
new SelectList( (IEnumerable)ViewData["qchap"], "Id", "Title" ),
new { onchange = "this.form.submit();" }) %>
Resuelvo usando este código.
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
Eso es para la función ActionResult
Y luego para la vista
<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>
Espero que ayude. Si desea códigos más completos, por favor, siéntase bien al enviarme un correo electrónico a [email protected]
También creo que es posible que desee ajustar su devolución de datos a los formulariosColección
Postback public ActionResult Index (FormsCollection myform)
(No estoy en la PC de mi casa donde está instalado MVC, así que no puedo verificar la sintaxis aquí)