私はウェブアプリケーションを開発しています。これでは、登録フォームでクライアント側のブラウザにすべての月の値を追加したいと思います。
すべての月の値を1つずつ追加して、手動で実行しています。コードにforループを1つ入れることで、すべての月を追加できるかどうかを知りたいです。
可能であれば私に提案してください。
ありがとう
ここでは、ループなしで実行できます。
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));
}
これは1つのオプションです...
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>
前回チェックしたときは、月はあまり変わっていません!:)