如何在asp.net mvc中选择一个选择列表项目?
问题描述:
我有以下代码,但它从不选择我想要的值。如何在asp.net mvc中选择一个选择列表项目?
List<SelectListItem> list = new List<SelectListItem>();
SelectListItem one = new SelectListItem() { Text = "MyTest", Value = "MyTest"};
SelectListItem two= new SelectListItem() { Text = "Test2", Value = "Test2" };
if (id == "MyTest")
{
one .Selected = true;
}
else
{
two.Selected = true;
}
list.Add(one);
list.Add(two);
ViewData["DDL"] = new SelectList(list, "value", "text");
所以我不知道我在我看来做错了
我
<%= Html.DropDownList("DDL") %>
答
你应该使用:
ViewData["DDL"] = new SelectList(list, "value", "text", id == "MyTest" ? "MyTest" : "Test2");
你应该定义在选定值SelectList构造函数。
编辑
回答质疑:
您不必提供清单的SelectList构造函数。它可以是任何对象的集合。你只需提供关键,价值和选择价值。您的代码也可能是这样的:
var selectItems = new Dictionary<string, string> {{"MyTest", "MyTest"}, {"Test2", "Test2"}};
ViewData["DDL"] = new SelectList(selectItems, "Key", "Value", id == "MyTest" ? "MyTest" : "Test2");
+5
那么SelectListItem中的一个点是什么? – chobo2 2009-11-22 20:54:12
我想你需要Html.DropDownList(“DDL”,计算机[“DDL”]),但我不知道,因为我从来没有使用过这一点。 – configurator 2009-11-22 19:50:13
我不确定,但您可能需要在确定选择哪个项目之前将项目添加到选择列表中。 – Jason 2009-11-22 19:54:11