如何从MVC中的DropDown中获取所选值?我想将它分配给变量。
这是我的控制器动作:
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;
}
这是我的观点:
@Html.DropDownList("Options", ViewData["Options"] as SelectList, "--Select Item--")
答案 0 :(得分:4)
查看强>
@using (Html.BeginForm())
{
<h2>Drop</h2>
@Html.DropDownList("Options", ViewData["Options"] as SelectList, "--Select Item--")
<input type="submit" name="submit" value="Submit" />
}
<强>控制器强> 添加新动作
[HttpPost]
public ActionResult Drop(FormCollection form)
{
var optionsValue = form["Options"];
//TODO:
return RedirectToAction("Drop");
}
答案 1 :(得分:3)
另外,请注意,如果您未在帖子中使用FormCollection,则可以轻松使用以下内容,这非常有用,尤其是在主要视图中使用部分视图时。
[HttpPost]
public ActionResult Drop(SelectListItem item)
{
var selectedValue = Request.Form["ID_OF_THE_DROPDOWNLIST"];
//TODO......
return RedirectToAction("Drop");
}
答案 2 :(得分:0)
查看:
@using (Html.BeginForm("Index", "Home", FormMethod.Get))
{
<fieldset>
Select filter
@Html.DropDownList("SelectFilter", @Model.ddlList)
<p>
<input type="submit" value="Submit" />
</p>
</fieldset>
}
控制器:
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();
}
型号:
Public class MyModel
{
public List<SelectListItem> ddlList = new List<SelectListItem>();
}