0
我有一个列表,我根据我创建的Enum来填充一年中的所有月份。我的密钥和值设置为Jan/01,Feb/02等。如果当前月份是Jan,那么我希望DEC设置为selected = true,如果不是上个月为selected = ture设置的话。我如何设置选定的值如何在SelectListItems列表中实现循环缓冲区?
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 Sue。
谢谢@汤米,它抱怨“第一()”方法。因此,我的代码更改为if(currentMonth == 1){month.Find(x => x.Value ==“12”)。Selected = true; } else {month.Find(x => x.Value ==((currentMonth - 1).ToString()))。Selected = true; }但它现在抱怨“对象引用未设置为对象的实例” – sansid 2012-07-31 17:20:54
哪部分给你提供空引用异常?另外,对于First()问题,您需要确保使用System.Linq;是在你的班级/控制器的顶部:)查找应该适用于你需要做的事情。你确定在SelectList List中正确设置了文本/值(而不是反转或空吗?)如果没有匹配你的列表中的内容,这将抛出null异常... – Tommy 2012-07-31 17:31:32
System.Linq被列出,不确定为什么它会抱怨First()。是的,你是对的,我的值为1月1日,2月2日等,但DateTime.Now.Month 7月返回7而不是“07”。谢谢。如何将选定的值存储到变量中 – sansid 2012-07-31 17:51:16