有没有办法 把N个同类型的控件获取集合。。比如:10 个input ,获取到一个控件数组里面用循环集中处理。比如:<input id="Checkbox1" type="checkbox" value="checkbox" name="checkbox1" runat="server">
<input id="Checkbox2" type="checkbox" value="checkbox" name="checkbox2" runat="server">
<input id="Checkbox3" type="checkbox" value="checkbox" name="checkbox3" runat="server">
<input id="Checkbox4" type="checkbox" value="checkbox" name="checkbox4" runat="server">
<input id="Checkbox5" type="checkbox" value="checkbox" name="checkbox5" runat="server">
<input id="Checkbox6" type="checkbox" value="checkbox" name="checkbox6" runat="server">
<input id="Checkbox7" type="checkbox" value="checkbox" name="checkbox7" runat="server">
<input id="Checkbox8" type="checkbox" value="checkbox" name="checkbox8" runat="server">
甚至更多。。
我要处理的时候
if ( Checkbox1.Checked )
{
}
if ( Checkbox2.Checked )
{
}
if ( Checkbox3.Checked )
{
}
.......................
这样好像太麻烦。如果多了就更麻烦。。
有没有办法搞个控件集合。然后
for()
 处理。Javascript 就有个。。document.getElementsByName("txtValue") 可以获取控件集合然后处理。
当然有些操作 Javascript  不能做,只能用C# 写代码了。

解决方案 »

  1.   

    遍历一下 然后把符合的控件存在 ArrayList 里
      

  2.   

    用checkboxlist
    或把它们都放到一个placeHolder中,遍历它的controls集合
      

  3.   

    同问,求解。 我的情况是DataGrid中的Template列中放置了CheckBox,想要获取所有这些CheckBox,应该是稍微复杂一点的情况吧。谢谢!
      

  4.   

    ArrayList DDLArray=new ArrayList();
    for(int i=0;i<DadtaGrid1.Items.Count;i++)
    DataGrid1.Items[i].Cells[j].FindControl("DropDownList1");
      

  5.   

    ArrayList DDLArray=new ArrayList();
    for(int i=0;i<DadtaGrid1.Items.Count;i++)
    {
      DDLArray.Add(DataGrid1.Items[i].Cells[j].FindControl("DropDownList1"));
    }
      

  6.   

    foreach(Control ctr in panel1.Controls)
    {
       if( .....
    }
      

  7.   

    //查找Form1中所有的控件
       foreach(Control ct in this.FindControl("Form1").Controls)
       {
        if (ct is TextBox)
        {
         TextBox tb=(TextBox)ct;    //如果TextBox的名称不是TextBox1,则清楚控件的值
         if(tb.ClientID !="TextBox1")
          tb.Text = "";
        }
        if(ct is Label)
        {
         Label lb = (Label)ct;
         lb.Text = "";
        }
       }
      

  8.   

    Control myControl1;for (int i = 1; i <= 30; i++)
    {
        myControl1 = FindControl("CheckBox" + i.ToString());
        if (myControl1 != null)
        {   
            CheckBox myCheckBox = (System.Web.UI.WebControls.CheckBox)(myControl1);
        }
    }
      

  9.   

    http://www.microsoft.com/china/msdn/archives/library/dv_vstechart/html/vbtchCreatingControlArraysInVisualBasicNETVisualCNET.asp