2014-05-21 69 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); 
    } 
}