2009-11-22 210 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

相關問題