for (int i = 0; i < 100; i++)
            {
                ListItem li = new ListItem();
                ddlAge01.Items.Add(li);
                ddlAge01.Items[i].Text = (i + 1).ToString();
                ddlAge01.Items[i].Value = (i + 1).ToString();                ddlAge02.Items.Add(li);
                ddlAge02.Items[i].Text = (i + 1).ToString();
                ddlAge02.Items[i].Value = (i + 1).ToString();                ddlAge03.Items.Add(li);
                ddlAge03.Items[i].Text = (i + 1).ToString();
                ddlAge03.Items[i].Value = (i + 1).ToString();                ddlAge04.Items.Add(li);
                ddlAge04.Items[i].Text = (i + 1).ToString();
                ddlAge04.Items[i].Value = (i + 1).ToString();                ddlAge05.Items.Add(li);
                ddlAge05.Items[i].Text = (i + 1).ToString();
                ddlAge05.Items[i].Value = (i + 1).ToString();                ddlAge06.Items.Add(li);
                ddlAge06.Items[i].Text = (i + 1).ToString();
                ddlAge06.Items[i].Value = (i + 1).ToString();
            }
写的这段代码感觉好啰嗦,我想用"ddlAge0"加一个从1循环到6的变量来构造对象名称,例如:"ddlAge0"+j,可是这样的组合不能做对象名称,实在不清楚到底怎么样才能实现这个想法,求兄弟姐妹们指教,非常感谢!

解决方案 »

  1.   

    额,我记得在asp里面貌似可以,转到asp.net后,这样做会报错,所以我很迷茫哈,请朋友们给我个思路吧
      

  2.   

    DropDownList 可以用 DataSource Binding 啊var data = Enumerable.Range(1, 100).Select(i => i.ToString()).ToList();
    ddlAge01.DataSource = data;
      

  3.   

    DropDownList[] array = new DropDownList[] { ddlAge01, ddlAge02, ddlAge03, ddlAge04, ddlAge05, ddlAge06 };
    for (int i = 0; i < 100; i++)
    {
        ListItem li = new ListItem();
        for (int j = 0; j < array.GetLength(0); j++)
        {
            array[j].Items.Add(li);
            array[j].Items[i].Text = (i + 1).ToString();
            array[j].Items[i].Value = (i + 1).ToString();
        }
    }
      

  4.   

    方法1直接绑定: var data = Enumerable.Range(1, 100).Select(i => i.ToString()).ToList();
     
     this.DropDownList1.DataSource = data;
     this.DropDownList1.DataBind();
     this.DropDownList2.DataSource = data;
     this.DropDownList2.DataBind();
     this.DropDownList3.DataSource = data;
     this.DropDownList3.DataBind();
    方法2用 FindControl,然后再绑定 var data = Enumerable.Range(1, 100).Select(i => i.ToString()).ToList();
     for (int i = 1; i <= 3; i++)
     {
         var ddl = (DropDownList)FindControl("DropDownList" + i);
         ddl.DataSource = data;
         ddl.DataBind();
     }