C# 通过asp.net中的循环向dropdownlist添加值

C# 通过asp.net中的循环向dropdownlist添加值,c#,asp.net,C#,Asp.net,我正在开发web应用程序,在这个应用程序中,我希望将客户端浏览器上的所有月份值添加到注册表中 我通过一个接一个地添加所有月份的值来手动执行此操作。我想知道是否可以通过在代码中加入一个for循环来添加所有月份 如果可能的话,建议我 谢谢请尝试使用此代码 foreach (string name in nameList) { ddl.Items.Add(new ListItem(name)); } 请尝试使用此代码 foreach (string name in nameList) {

我正在开发web应用程序,在这个应用程序中,我希望将客户端浏览器上的所有月份值添加到注册表中

我通过一个接一个地添加所有月份的值来手动执行此操作。我想知道是否可以通过在代码中加入一个for循环来添加所有月份

如果可能的话,建议我

谢谢

请尝试使用此代码

foreach (string name in nameList)
{
    ddl.Items.Add(new ListItem(name));
}
请尝试使用此代码

foreach (string name in nameList)
{
    ddl.Items.Add(new ListItem(name));
}

在这里,您可以在不使用循环的情况下执行此操作:

List<string> months = new List<string>() { "January", "Feburary", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December" };
dropDownList1.DataSource = months;
dropDownList1.DataBind();
List months=新列表(){“一月”、“二月”、“三月”、“四月”、“五月”、“六月”、“七月”、“八月”、“九月”、“十月”、“十一月”、“十二月”};
dropDownList1.DataSource=月;
dropDownList1.DataBind();
或者,如果您坚持使用循环:

List<string> months = new List<string>() { "January", "Feburary", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December" };
foreach (string month in months)
{
     dropDownList1.Items.Add(month);
}
List months=新列表(){“一月”、“二月”、“三月”、“四月”、“五月”、“六月”、“七月”、“八月”、“九月”、“十月”、“十一月”、“十二月”};
foreach(以月为单位的字符串月)
{
dropDownList1.项目.添加(月);
}

在这里,无需循环即可完成:

List<string> months = new List<string>() { "January", "Feburary", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December" };
dropDownList1.DataSource = months;
dropDownList1.DataBind();
List months=新列表(){“一月”、“二月”、“三月”、“四月”、“五月”、“六月”、“七月”、“八月”、“九月”、“十月”、“十一月”、“十二月”};
dropDownList1.DataSource=月;
dropDownList1.DataBind();
或者,如果您坚持使用循环:

List<string> months = new List<string>() { "January", "Feburary", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December" };
foreach (string month in months)
{
     dropDownList1.Items.Add(month);
}
List months=新列表(){“一月”、“二月”、“三月”、“四月”、“五月”、“六月”、“七月”、“八月”、“九月”、“十月”、“十一月”、“十二月”};
foreach(以月为单位的字符串月)
{
dropDownList1.项目.添加(月);
}
这是一个选项

for (int m = 1; m <= 12; m++)
{
   dd.Items.Add(new ListItem(new DateTime(2000, m, 1).ToString("MMMM"), m));
}
for(int m=1;m这是一个选项

for (int m = 1; m <= 12; m++)
{
   dd.Items.Add(new ListItem(new DateTime(2000, m, 1).ToString("MMMM"), m));
}

for(int m=1;m为什么要在代码中这样做?只需在aspx文件中静态添加月份:

<asp:DropDownList Id="ddlMonths" runat="server">
    <asp:ListItem Text="January" Value="1" />
    <asp:ListItem Text="February" Value="2" />
    <asp:ListItem Text="March" Value="3" />
    <asp:ListItem Text="April" Value="4" />
    ...
</asp:DropDownList>

...

上次我检查时,月份变化不大!:)

为什么要在代码中这样做?只需在aspx文件中静态添加月份:

<asp:DropDownList Id="ddlMonths" runat="server">
    <asp:ListItem Text="January" Value="1" />
    <asp:ListItem Text="February" Value="2" />
    <asp:ListItem Text="March" Value="3" />
    <asp:ListItem Text="April" Value="4" />
    ...
</asp:DropDownList>

...

上次我检查时,月份变化不大!:)

记得在使用循环时检查iPostback条件。不确定在第一种情况下会有什么表现记得在使用循环时检查IsPostBack条件。不确定在第一种情况下的表现如何硬编码月份的值并将其添加到@Habib.OSU的答案中更为合理,因为它们永远不会改变(好吧,名称可能取决于使用的日历)。您正在为每次迭代创建DateTime对象的新实例。@Jamie,如果您不担心全球化,硬编码是有意义的。。。我说过这是一个选择,不是唯一的选择。我也从来没有说过这是唯一的选择;)。不过,全球化是公平的。更合理的做法是硬编码月份的值,并按照@Habib.OSU的回答添加它们,因为它们永远不会改变(好吧,名称可能取决于使用的日历)。您正在为每次迭代创建DateTime对象的新实例。@Jamie,如果您不担心全球化,硬编码是有意义的。。。我说过这是一个选择,不是唯一的选择。我也从来没有说过这是唯一的选择;)。不过,全球化是公平的。这只是一个接一个地增加价值。。。。。我想要同样的东西通过循环感谢为什么浪费CPU时间通过循环添加它们,而只有12个?在英国,我们有一句俗语,“照顾好便士,英镑会照顾好自己”,这句话对表现同样有效。如果你一直在思考如何有效地做事情……是的,现在只有12个……但在编程中,总是使用循环是有意义的……这只是一个接一个地添加值。。。。。我想要同样的东西通过循环感谢为什么浪费CPU时间通过循环添加它们,而只有12个?在英国,我们有一句俗语,“照顾好便士,英镑会照顾好自己”,这句话对表现同样有效。若你们总是在思考如何有效地做事情……是的,现在只有12个……但在编程中,你们总是使用循环是有意义的。。