2011-12-21 54 views
3

我想一個基本的下拉列表添加到我用一個簡單的看法我想「請「請選擇」,「是」,「否」的選擇一個MVC的下拉列表綁定到一個基本的列表

默認選擇「來選擇。

我創建了一個簡單的選擇列表並向其中添加3個項目。

var list = new SelectList(new[] 
             { 
              new{ID="0",Name="- Please Select -"}, 
              new{ID="True",Name="Yes"}, 
              new{ID="False",Name="No"}, 
             },"ID","Name",0); 
     ViewBag.List= list; 

我的觀點

@Html.DropDownList("Terms", ViewBag.List as SelectList, new { @class = "drop"}) 

但是每次頁面加載ID 「假」 時選擇。

在控制器級別上,我可以看到選擇了ID 0,但不知怎的,視圖正在將所選項目更改爲列表中的最後一項。

我需要做什麼改變嗎?

我只是測試使用ID 0,1,2,它的工作原理但我希望能夠使用真假,因爲它映射回我模型中的布爾字段。

回答

2

您需要更改如下選擇列表:

var list = new SelectList(new[] 
             { 
              new{ID="0",Name="- Please Select -"}, 
              new{ID="True",Name="Yes"}, 
              new{ID="False",Name="No"}, 
             }, "ID", "Name", "0"); 

通知中的SelectList的構造函數中的「0」字符串,用雙引號包裹。

+0

衛生署!感謝cjcoax – 2011-12-21 05:09:13

0

您可能會更好使用不同的構造函數爲您的下拉列表,而不是在您的控制器/模型中設置選項標籤。例如,如果要指定一個選項標籤,你可以這樣做是這樣的:

@Html.DropDownList("Terms", ViewBag.List as SelectList, "- Please Select -", new { @class = "drop" }) 

MSDN Reference

相關問題