我有以下代码,但它从不选择我想要的值。
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") %>
答案 0 :(得分:7)
您应该使用:
ViewData["DDL"] = new SelectList(list, "value", "text", id == "MyTest" ? "MyTest" : "Test2");
您应该在SelectList构造函数中定义选定的值。
修改强>
回答问题:
您不必为SelectList构造函数提供List。它可以是任何对象的集合。您只需提供关键,价值和选定的价值。您的代码也可能如下所示:
var selectItems = new Dictionary<string, string> {{"MyTest", "MyTest"}, {"Test2", "Test2"}};
ViewData["DDL"] = new SelectList(selectItems, "Key", "Value", id == "MyTest" ? "MyTest" : "Test2");