3

以下の構文でasp.netコンポーネントにドロップダウンリストを作成できます

 <asp:DropDownList ID="test" runat="server">
      <asp:ListItem Text="1" Value="1"></asp:ListItem>
 </asp:DropDownList>

コンボボックスに1から1000を含める場合、手動で1000アイテムを追加するのではなく、foreachループを追加する方法はありますか?

4

6 に答える 6

5

ListItemsはい、プログラムで追加できます。

for(int i=1; i<=1000; i++)
{
    ListItem item = new ListItem(i.ToString(), i.ToString());
    test.Items.Add(item);
}

ListItemCollection.Add

このlinqクエリを使用して、データソースとして使用することもできます。

var source = Enumerable.Range(1, 1000)
    .Select(i => new { Text= i.ToString(), Value=i.ToString() });
test.DataSource = source;
test.DataTextField = "Text";
test.DataValueField = "Value";
test.DataBind();
于 2013-02-05T15:23:16.737 に答える
1

確かに、コードビハインドでは:

if (!Page.IsPostBack)
{
    // Populate DropDownList
    for (int i = 1; i < 1001; i++)
    {
        ListItem li = new ListItem(i.ToString(),i.ToString());
        test.Items.Add(li);
    }
}
于 2013-02-05T15:23:46.353 に答える
1

ドロップダウンリストを数字のコレクションに直接バインドするのはどうですか?

IEnumerable<int> numbers = Enumerable.Range(1, 1000);
test.DataSource = numbers;
test.DataBind();
于 2013-02-05T15:25:51.123 に答える
0
 for( int i=1;i<=100;i++)
 {
    ListItem li=new ListIem(i.ToString(),i.ToString());
    test.Items.add(li);
 }
于 2013-02-05T15:23:18.913 に答える
0

ここにいくつかの擬似コードがあります:

for (int i = 0; i < 1000; i++)
{
    ListItem item = new ListItem();
    item.Text = i.ToString();
    test.Items.Add(item);
}

ListItemを作成し、それに値を入力する方法を正確に見つける必要があります。

于 2013-02-05T15:24:26.473 に答える
0

非常に基本的なコード...

if(!Page.IsPostBack)
{
  for (int i = 1; i <= 1000; i++)
  {
    test.Items.Add(new ListItem(i.ToString(), i.ToString()));
  }
}
于 2013-02-05T15:26:42.703 に答える