Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/37.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 用月份名称填充dropdownlist_C#_Asp.net - Fatal编程技术网

C# 用月份名称填充dropdownlist

C# 用月份名称填充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

我正试着用月份的名字填写一个下拉列表。但它总是给我一个例外。我使用类似的方法在dropdownlist中填入年份,但不使用DateTime

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();
}