2014-05-21 57 views
0

我对MVC 4来说很新,所以这听起来可能不重要。在mvc 4剃须刀的下拉列表中给选项赋值选项

这里是一片剃须刀代码:

@Html.DropDownListFor(model => model.ResidentTypes[i].LevelID, new SelectList(Model.LevelOfTraining, "Value", "Text", Model.ResidentTypes[i].LevelID), "--Select--", new { @style = "" }) 

它显示一个下拉列表中有几个选项和“ - 选择 - ”。 但是select没有赋值。任何可以告诉如何将值增加为0到“ - 选择 - ”选项?

+0

这可能会帮助你http://forums.asp.net/t/1959753.aspx?Best+way+to+populate+drop+down+lists+MVC+4+razor+ –

回答

0

您可以使LevelID为空 - int?;我使用SelectList类的扩展方法。

public static class SelectListExtension { 
    public static SelectList Prepend(this SelectList list, string text, string value, bool selected = false) { 
    if (list == null) { 
     throw new ArgumentNullException("list"); 
    } 

    return new SelectList(new SelectListItem[] { 
     new SelectListItem { 
     Selected = selected, 
     Text = text, 
     Value = value 
     } 
    }.Union(list), "Value", "Text"); 
    } 

    public static SelectList Default(this SelectList list, string text, string value = null) { 
    if (list == null) { 
     throw new ArgumentNullException("list"); 
    } 

    return list.Prepend(text, value, true); 
    } 

    public static SelectList Default(this SelectList list) { 
    if (list == null) { 
     throw new ArgumentNullException("list"); 
    } 
    // localization here 
    string defaultMessage = "-- SELECT --"; 
    return list.Default(defaultMessage); 
    } 
}