単純なクエリです。ドロップダウンリストに17から90までの数字を挿入したいと思います。最後の数字は、90ではなく90+のような文字列にする必要があります。 forループのようなもの:asp.netのドロップダウンリストに数字の
また、各リスト項目のテキストと値に同じ数字を設定したいとします。 アイデア
単純なクエリです。ドロップダウンリストに17から90までの数字を挿入したいと思います。最後の数字は、90ではなく90+のような文字列にする必要があります。 forループのようなもの:asp.netのドロップダウンリストに数字の
また、各リスト項目のテキストと値に同じ数字を設定したいとします。 アイデア
for (int i = 17; i < 90; i++)
{
ddlAge.Items.Add(new ListItem(i.ToString(), i.ToString()));
}
ddlAge.Items.Add(new ListItem("90+", "90"));
for (int a = 17; a <= 90; a++)
{
ddlAge.Items.Add(new ListItem(a.ToString(), a.ToString()));
}
これを試してみてください:これは十分に簡単です
for (int a = 17; a <= 90; a++)
{
var i = (a == 90 ? a.ToString() + '+': a.ToString());
ddlAge.Items.Add(new ListItem(i, i));
}
+1:丁寧に答えてください。 –
私は競争力のある答えでもっと大胆になりたくはありませんが、唯一の例外が最後のアイテムであることが分かっていれば、ロジックをforループに入れなければならないのはなぜですか?ループの外に例外項目を追加するだけです。それもそれを明確にします。 –
私は@ TimSchmelterに同意します。すべての数字を確認してください。 –
。 ListItemクラスをインスタンス化してそのプロパティを設定し、それをDropDownListに追加する必要があります。
private void GenerateNumbers()
{
// This would create 1 - 10
for (int i = 1; i < 11; i++)
{
ListItem li = new ListItem();
li.Text = i.ToString();
li.Value = i.ToString();
ddlAge.Items.Add(li);
}
}
これは質問の一部にのみ回答します。 OPは最後の項目が '90 'ではなく' 90 + 'と表示されることを望んでいます –
for (int i = 0; i <=91; i++)
{
if (i == 0)
{
ddlAge.Items.Add("Select Age");
}
else if(i<=90)
{
ddlAge.Items.Add(i.ToString());
i++;
}
else
{
ddlAge.Items.Add("90+");
}
}
for (int i = 17; i <= 90; i++)
{
ddlAge.Items.Add(new ListItem(i.ToString(), i.ToString()));
}
ddlAge.Items.Insert(0, new ListItem("Select Age", "0")); //First Item
ddlAge.Items.Insert(ddlAge.Items.Count, new ListItem("90+", "90+")); //Last Item
あなたはそれがテキストと値を設定しています数2回 –
DataTextとDataValueはフィールド –
を渡す理由。 –