2012-05-04 23 views
4
を入力します。

単純なクエリです。ドロップダウンリストに17から90までの数字を挿入したいと思います。最後の数字は、90ではなく90+のような文字列にする必要があります。 forループのようなもの:asp.netのドロップダウンリストに数字の

また、各リスト項目のテキストと値に同じ数字を設定したいとします。 アイデア

答えて

6
for (int i = 17; i < 90; i++) 
{ 
    ddlAge.Items.Add(new ListItem(i.ToString(), i.ToString())); 
} 
ddlAge.Items.Add(new ListItem("90+", "90")); 
2
for (int a = 17; a <= 90; a++) 
{ 
    ddlAge.Items.Add(new ListItem(a.ToString(), a.ToString())); 
} 
+0

あなたはそれがテキストと値を設定しています数2回 –

+0

DataTextとDataValueはフィールド –

+0

を渡す理由。 –

5

これを試してみてください:これは十分に簡単です

for (int a = 17; a <= 90; a++) 
{ 
    var i = (a == 90 ? a.ToString() + '+': a.ToString()); 
    ddlAge.Items.Add(new ListItem(i, i)); 
} 
+0

+1:丁寧に答えてください。 –

+0

私は競争力のある答えでもっと大胆になりたくはありませんが、唯一の例外が最後のアイテムであることが分かっていれば、ロジックをforループに入れなければならないのはなぜですか?ループの外に例外項目を追加するだけです。それもそれを明確にします。 –

+0

私は@ TimSchmelterに同意します。すべての数字を確認してください。 –

3

。 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); 
     } 
    } 
+1

これは質問の一部にのみ回答します。 OPは最後の項目が '90 'ではなく' 90 + 'と表示されることを望んでいます –

0
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+"); 
     } 
    } 
1
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 
関連する問題