在我看来,我的select标签是这样的:
<select name="selectedItem" id="selecttag" onchange="GetSelectedItem()">
<option value="select">Select any value</option>
<option value="Objective">Objective</option>
<option value="Subjective">Subjective</option>
</select>
我正在使用存储过程将数据传递到数据库。如何将选定的值传递给控制器?
发布于 2013-03-25 15:44:32
您可以使用视图模型:
public class MyViewModel
{
public string Value { get; set; }
public IEnumerable<SelectListItem> { get; set; }
}
然后你可以有一个控制器来填充这个模型,并将它传递给视图:
public ActionResult Index()
{
var model = new MyViewModel();
// TODO: you could load the values from your database here
model.Values = new[]
{
new SelectListItem { Value = "Objective", Text = "Objective" },
new SelectListItem { Value = "Subjective", Text = "Subjective" },
};
return View(model);
}
然后有一个相应的强类型视图,您可以在其中使用Html.DropDownListFor
帮助器:
@model MyViewModel
@using (Html.BeginForm())
{
@Html.DropDownListFor(x => x.Value, Model.Values, "Select any value");
<button type="submit">OK</button>
}
最后,您可以有一个相应的控制器操作,表单将提交到该操作,并将视图模型作为参数:
[HttpPost]
public ActionResult Index(MyViewModel model)
{
// model.Value will contain the selected value here
...
}
发布于 2013-03-25 18:11:03
[HttpPost]
public ActionResult Index(MyViewModel model,string selectedItem) //"selectedItem" is the name of your drop down list.
{
//here by "selectedItem" variable you can get the selected value of dropdownlist
}
https://stackoverflow.com/questions/15609855
复制相似问题