2014-08-27 32 views
0

所以,我有一個模型,其中包含團隊的成員名單。這些團隊成員中的每一個都有與該成員相關的期刊列表。這些期刊都有一個與他們相關的狀態,我使用了一個枚舉。MVC 4 dropdownlist選擇值使用枚舉不工作

public enum DailyEntryStatus 
{ 
    [Description("NA")] 
    NA, 
    [Description("Void")] 
    Void, 
    [Description("Submitted")] 
    Submitted, 
    [Description("Rejected")] 
    Rejected, 
    [Description("Approved")] 
    Approved 
}; 

我的問題是,我的模型中的團隊成員的日記列表中的每個日記的下拉列表中。我可以使用枚舉值填充下拉列表,但我希望在下拉列表中選擇該日記帳的當前狀態。

@Html.DropDownList("StatusFilter", EnumSelectListExtensions.DailyEntryStatusList(oEntry.Status), new { @class = "input-medium" }) 

我正在使用擴展方法DailyEntryStatusList(枚舉狀態)來填充枚舉狀態作爲參數的列表。 (oEntry.Status處於環路當前日誌狀態)

public static class EnumSelectListExtensions 
{ 
    public static IEnumerable<SelectListItem> DailyEntryStatusList(DailyEntryStatus eStatus) 
    { 
     var oList = from Enum e in Enum.GetValues(typeof (DailyEntryStatus)) 
        select new {Value = e.ToString(), Name = e.ToString()}; 

     return new SelectList(oList, "Value", "Name", eStatus.ToString()); 
    } 
} 

我嘗試了好幾種方法來得到這個沒有運氣的工作,也許我只是繞了錯誤的方式。非常感謝幫助。

+0

您確定eStatus正確傳入並且與列表中的某個項目匹配嗎?你有沒有經歷過,以確保? – bsayegh 2014-08-27 18:22:15

+0

是的,正在顯示每個人的正確狀態。 – briank 2014-08-27 19:28:43

+0

'@ Html.DropDownList(「StatusFilter」,..'呈現'