C# 用月份名称填充dropdownlist
我正试着用月份的名字填写一个下拉列表。但它总是给我一个例外。我使用类似的方法在dropdownlist中填入年份,但不使用DateTimeC# 用月份名称填充dropdownlist,c#,asp.net,C#,Asp.net,我正试着用月份的名字填写一个下拉列表。但它总是给我一个例外。我使用类似的方法在dropdownlist中填入年份,但不使用DateTime public void vulMaand() { for (int i = 0; i < 12; i++) { ListItem li = new ListItem(); li.Text = Convert.ToDateTime(i.ToString() + "/1
public void vulMaand()
{
for (int i = 0; i < 12; i++)
{
ListItem li = new ListItem();
li.Text = Convert.ToDateTime(i.ToString() + "/1/1900").ToString("MMMM");
li.Value = i.ToString();
ddl_maand.Items.Add(li);
}
}
给出的错误消息如下:
mscorlib.dll中发生“System.FormatException”类型的异常,但未在用户代码中处理
附加信息:De tekenreeks是niet als geldige DateTime herkend
粗略翻译:字符序列不是有效的日期时间
public void vulMaand()
{
for (int i = 0; i < 12; i++)
{
ListItem li = new ListItem();
li.Text = Convert.ToDateTime(i.ToString() + "/1/1900").ToString("MMMM");
li.Value = i.ToString();
ddl_maand.Items.Add(li);
}
}
任何帮助都将不胜感激与@dotctor的回答类似
for (int i = 0; i < 12; i++)
private void buttonLoadMonths_Click(object sender, EventArgs e)
{
comboBoxMonths.DisplayMember = "Value";
comboBoxMonths.ValueMember = "Key";
comboBoxMonths.DataSource = GetMonths();
}
private static IEnumerable<KeyValuePair<int, string>> GetMonths()
{
return Enumerable
.Range(1, 12).Select(i => new KeyValuePair<int, string>(i, CultureInfo.CurrentCulture.DateTimeFormat.GetMonthName(i)))
.ToArray();
}
与@dotctor的答案类似
private void buttonLoadMonths_Click(object sender, EventArgs e)
{
comboBoxMonths.DisplayMember = "Value";
comboBoxMonths.ValueMember = "Key";
comboBoxMonths.DataSource = GetMonths();
}
private static IEnumerable<KeyValuePair<int, string>> GetMonths()
{
return Enumerable
.Range(1, 12).Select(i => new KeyValuePair<int, string>(i, CultureInfo.CurrentCulture.DateTimeFormat.GetMonthName(i)))
.ToArray();
}