我在ASP.NET 3.5/C#中使用列表來篩選特定月份中的現有日期列表(總計約20個)。因此,如果用戶選擇2010年(ddlFromYear.SelectedItem.Text == 2010),那麼返回的列表將只包含8個月,因爲我們只能到8月份。從列表中獲取月份列表<DateTime>
我的問題是 - 如何輸出DateTime作爲整數,甚至最好是一個月,例如「八月」。這樣,當我綁定另一個下拉我可以列出所有的月份(一月,二月...),這正如我所提到會通過幾年來決定(2009年,2010 ......)
int yearSelected;
bool success = Int32.TryParse(ddlFromYear.SelectedItem.Text, out yearSelected);
if (success)
{
List<DateTime> datesSelected = new List<DateTime>();
datesSelected =
(from n in dates
where n.Year.Equals(yearSelected)
select n).ToList();
dateMonths.Sort();
ddlFromMonth.Items.Clear();
ddlFromMonth.DataSource = datesSelected;
ddlFromMonth.DataBind();
}
添加一個獨特的( )以免重複月份? – Martin 2010-08-20 18:37:31
@Martin,如果可能存在重複而你不想要它們,那麼在.ToList()之前調用.Distinct()。好點,補充說明回答。 – 2010-08-20 18:38:18
不,我不需要Distinct(),因爲月份會因年份而過濾回來。 – firedrawndagger 2010-08-20 18:43:10