我正在开发网络应用程序,在此我想在注册表单中添加客户端浏览器上的所有月份值。
我是通过一一添加所有月份的值来手动完成的。我想知道是否可以通过在我的代码中放置一个 for 循环来添加所有月份。
如果可能的话,建议我。
谢谢
在这里,您可以在没有循环的情况下执行此操作:
List<string> months = new List<string>() { "January", "Feburary", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December" };
dropDownList1.DataSource = months;
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);
}
尝试使用此代码
foreach (string name in nameList)
{
ddl.Items.Add(new ListItem(name));
}
这是一种选择...
for (int m = 1; m <= 12; m++)
{
dd.Items.Add(new ListItem(new DateTime(2000, m, 1).ToString("MMMM"), m));
}
更新
我知道这个问题已经“正确回答”,但考虑到@Jamie 的评论,我想我会使用相同的原则添加一个替代方案......
DateTime dt = new DateTime(2000, 1, 1);
for (int m = 0; m < 12; m++)
{
dd.Items.Add(new ListItem(dt.AddMonths(m).ToString("MMMM"), 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>
上次检查时,月份变化不大!:)