How to get selected DropDownList value in MVC

How to get selected value from DropDown in MVC? I want to assign it to a variable.

This is my controller action:

public ActionResult Drop() { List<SelectListItem> items = new List<SelectListItem>(); items.Add(new SelectListItem { Text = "Action", Value = "0" }); items.Add(new SelectListItem { Text = "Drama", Value = "1" }); items.Add(new SelectListItem { Text = "Comedy", Value = "2" }); items.Add(new SelectListItem { Text = "Science Fiction", Value = "3" }); items.Add(new SelectListItem { Text = "Horror", Value = "4" }); items.Add(new SelectListItem { Text = "Art", Value = "5" }); ViewData["Options"] = items; } 

It's my opinion:

 @Html.DropDownList("Options", ViewData["Options"] as SelectList, "--Select Item--") 
+6
source share
3 answers

View

 @using (Html.BeginForm()) { <h2>Drop</h2> @Html.DropDownList("Options", ViewData["Options"] as SelectList, "--Select Item--") <input type="submit" name="submit" value="Submit" /> } 

controller Add new action

 [HttpPost] public ActionResult Drop(FormCollection form) { var optionsValue = form["Options"]; //TODO: return RedirectToAction("Drop"); } 
+4
source

Also note that if you are not using FormCollection in your post, you can easily use the following, it is very useful, especially if you use partial views inside the main one.

 [HttpPost] public ActionResult Drop(SelectListItem item) { var selectedValue = Request.Form["ID_OF_THE_DROPDOWNLIST"]; //TODO...... return RedirectToAction("Drop"); } 
+3
source

View:

 @using (Html.BeginForm("Index", "Home", FormMethod.Get)) { <fieldset> Select filter @Html.DropDownList("SelectFilter", @Model.ddlList) <p> <input type="submit" value="Submit" /> </p> </fieldset> } 

Controller:

  public ActionResult Index(string SelectFilter) { var _model = new Models.MyModel(); List<SelectListItem> listDDL = new List<SelectListItem>(); listDDL.Add(new SelectListItem { Text = "11", Value = "11" }); listDDL.Add(new SelectListItem { Text = "22", Value = "22" }); listDDL.Add(new SelectListItem { Text = "33", Value = "33" }); ViewData["ddlList"] = listDDL; //We add our DDL items to our model, you can add it to viewbag also //or you can declare DDL in view with its items too _model.ddlList = listDDL; return View(); } 

Model:

 Public class MyModel { public List<SelectListItem> ddlList = new List<SelectListItem>(); } 
0
source

Source: https://habr.com/ru/post/923353/


All Articles