0

1年のすべての月をロードするために作成した列挙型に基づいて入力するリストがあります。キーと値はJan/01、Feb / 02などに設定されています。現在の月が1月の場合、前月がselected = tureに設定されていない場合は、DECを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) //which is Jan

ここで、12月(12)を選択値として設定します。それ以外の場合は、前月を設定します。

TIAスー。

4

1 に答える 1

1

こんな感じじゃないですか?基本的に、1月のエッジケースをキャッチする必要があります。次の部分は、リストから適切なアイテムを見つけて、選択したプロパティを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;
于 2012-07-30T19:55:09.113 に答える