2011-11-10 110 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。