2013-05-01 88 views
1

如何在Razor中将模型对象数组中的DropdownList的选定值设置为?例如:在剃须刀MVC中的下拉列表中选择一个值4

@foreach (var model in Model.Courses) 
{ 
    .... 
    <td> 
     @Html.DropDownList(**** set the selected value from model.Order, from my Model.Positions list ****) 
    </td> 
    .... 
} 

谢谢!

回答

4

试试这个

@foreach (var model in Model.Courses) 
{ 
    .... 
    <td> 
          //Control Name, Options,  Selected Value 
     @Html.DropDownList("NameOfControl", ListOfItems, model.Value) 
    </td> 
    .... 
} 
+1

-1,因为在DropDownList的帮手按F12时,第三参数评论说:“来设置数据源本身选择的选项optionLabel:默认空项目的文本,该参数可以为null。“ 因此,因为它实际上不会选择您的值,它只会将其显示为“默认空项目”。如果您在此之后发布POST,则您以这种方式“选择”的值将不会发布。 – stralsi 2013-09-25 08:32:43

1

最好尝试使用的SelectList

Dictionary<string, string> list = new Dictionary<string, string>(); 
    list.Add("Value1", "1"); 
    list.Add("Value2", "2"); 
    list.Add("Value3", "3"); 
    var selectList = new SelectList(list, 
       "Value", "Key", 
       "2"); // selected item's value "Value2" is selected. 
    ViewData["SelectedValue"] = selectList; 

    @Html.DropDownList("ddlValues", (SelectList)ViewData["SelectedValue"]))