如何在asp.net mvc中选择一个选择列表项?

时间:2009-11-22 19:44:59

标签: c# .net asp.net 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") %>

1 个答案:

答案 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");