2009-11-22 163 views
3

我有以下代码,但它从不选择我想要的值。如何在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

我想你需要Html.DropDownList(“DDL”,计算机[“DDL”]),但我不知道,因为我从来没有使用过这一点。 – configurator 2009-11-22 19:50:13

+0

我不确定,但您可能需要在确定选择哪个项目之前将项目添加到选择列表中。 – Jason 2009-11-22 19:54:11

回答

7

你应该使用:

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

相关问题