2011-11-10 113 views
2

我有我在控制器中創建一個列表:MVC @ Html.DropDownList - 默認值

var PayList = new[] { 
        new ListEntry { Id = 1, Name = "" },  
        new ListEntry { Id = 2, Name = "Yes" },   
        new ListEntry { Id = 3, Name = "No" }   

       }; 

    ViewBag.PayList = new SelectList(PayList, "Id", "Name",2); 

在視圖我有以下幾點:

@Html.DropDownList("Pay", ViewBag.PayList as SelectList) 

我期待以上默認爲是,但沒有發生(注意,我在ViewBag.PayList中傳遞2)

+1

什麼版本的MVC?您的示例代碼在MVC3中適用於我。 –

+1

檢查答案:http://stackoverflow.com/questions/2410543/dropdownlist-setting-selected-item-in-asp-net-mvc/2410614#2410614。 – link664

+0

這應該很好。事實上,當我測試它時它工作正常。 –

回答

1

代碼很好聽,但我認爲爲了讓控制器的範圍適當地與您的視圖進行通信,您需要不要他:

@Html.DropDownListFor(model => model.PayList) 

其實......這裏有一個很好的文章:dropdownlist set selected value in MVC3 Razor

不要使用ViewBag ......熟悉創建的ViewModels。