2014-08-27 53 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”,..'呈现'