7

如何从 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--")
4

3 回答 3

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");
}
于 2012-08-21T07:42:13.757 回答
3

另外,请考虑如果您没有在帖子中使用 FormCollection,您可以轻松使用以下内容,这非常有用,特别是如果您在主视图中使用部分视图。

[HttpPost]
public ActionResult Drop(SelectListItem item)
{

    var selectedValue = Request.Form["ID_OF_THE_DROPDOWNLIST"];
    //TODO......
    return RedirectToAction("Drop");
}
于 2013-04-24T18:37:47.310 回答
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>();

}
于 2015-03-01T15:57:29.193 回答