Tutorial :C# How to set the autopostback property when using asp.net mvc?



Question:

I am using asp.net MVC framework. On my page i have a dropdwonbox and when an option is clicked i want to go to another page. But i can't find how/where to set the autopostback property to true. This is the code i'm using:

Aspx:

<%= Html.DropDownList("qchap", new SelectList( (IEnumerable)ViewData["qchap"], "Id", "Title" )) %>  

Controller:

public ActionResult Index(int id)  {      Chapter c =  new Chapter();      ViewData["qchap"] = c.GetAllChaptersByManual(id);        return View();  }  

What do i have to do to use the autopostback functionality?


Solution:1

You can use the onchange client event:

<%= Html.DropDownList("qchap",          new SelectList( (IEnumerable)ViewData["qchap"], "Id", "Title" ),         new { onchange = "this.form.submit();" }) %>  


Solution:2

It seems the DropDownList helper method doesn't support this. Maybe using it within a form and a custom custom html attribute to submit the form do it.


Solution:3

I believe too that you may want to adjust your postback to the formsCollection

postback public ActionResult Index(FormsCollection myform)

(I'm not on my home pc where MVC is installed, so I can't verify the syntax here)


Solution:4

I solve using this code.

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  

That's for the ActionResult function

And Then for the View

 <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>  

I hope it helps. I f you would like more complete codes please feel good to email me at boylevantz@gmail.com


Note:If u also have question or solution just comment us below or mail us on toontricks1994@gmail.com
Previous
Next Post »