如何在SelectListItem列表中实现循环缓冲区?

时间:2012-07-30 17:28:46

标签: c# jquery asp.net-mvc

我有一个列表,我根据我创建的Enum填充一年中加载所有月份的列表。我的键和值设置为Jan / 01,Feb / 02等。如果当前月份是Jan,那么,我希望DEC设置为selected = true,如果不是上一个月设置为selected = ture。如何设置所选值

 List<SelectListItem> month = Framework.Enums.Month_List().Select(T => new          SelectListItem() { Text = T.Key, Value = T.Value.ToString() }).ToList();
        //make the previous month as "selected"
        int currentMonth = DateTime.Now.Month;
        if(currentMonth == 1) //which is Jan

现在我想将Dec(12)设置为选定值,否则设置上个月。

TIA 起诉。

1 个答案:

答案 0 :(得分:1)

不是这样的吗?基本上你必须抓住1月份的边缘情况。下一部分只是在列表中找到合适的项目并将其selected属性设置为True。

List<SelectListItem> month = Framework.Enums.Month_List().Select(T => new 
     SelectListItem() { Text = T.Key, Value = T.Value.ToString() }).ToList();
        //make the previous month as "selected"
        int currentMonth = DateTime.Now.Month;
        if(currentMonth == 1){
            month.Find(x=>x.Value == 12).Selected = true;
        }else{
           month.Find(x=>x.Value == ((currentMonth - 1).ToString())).Selected = true;
        }
        return month;