我想在Razor视图中创建一个DropDownListFor,显示类型为String的List的数据:
public ActionResult Index()
{
List<String> catgs = new List<String>();
return View(catgs);
}
我无法弄清楚如何在View中接收String类型的模型以及如何编写DropDownListFor。
感谢。
答案 0 :(得分:0)
为了生成下拉列表,您既需要要绑定的属性,也需要要显示的选项的集合属性。
模型
public class MyModel
{
public string SelectedValue { get; set; }
public IEnumerable<SelectListItem> Items { get; set; }
}
控制器
public ActionResult Index()
{
MyModel model= new MyModel
{
Items = new SelectList(new string[]{ "Item 1", "Item 2", "Item 3" })
};
return View(model);
}
旁注:如果您想预先选择一个选项,请设置SelectedValue
的值,例如SelectedValue = "Item 2"
表示将选择2选项。
查看
@model MyModel
....
@Html.DropDownListFor(m => m.SelectedValue, Model.Items, "-Please select-")