我里面的页面是这样写的··
<asp:Label ID="Label1" runat="server" Text="我喜欢开快车。"></asp:Label>
     <asp:CheckBoxList ID="CheckBoxList1" BorderWidth="1" runat="server" RepeatLayout="Flow"  >
        <asp:ListItem onclick="CheckBoxList_Click(this)" Value="同意">同意</asp:ListItem>
        <asp:ListItem onclick="CheckBoxList_Click(this)" Value="不同意">不同意</asp:ListItem>
                </asp:CheckBoxList><br /><br />
                         <asp:Label ID="Label2" runat="server" Text="读书时不怎么用功"></asp:Label>
     <asp:CheckBoxList ID="CheckBoxList2" BorderWidth="1" runat="server" RepeatLayout="Flow">
        <asp:ListItem onclick="CheckBoxList_Click(this)" Value="同意">同意</asp:ListItem>
        <asp:ListItem onclick="CheckBoxList_Click(this)" Value="不同意">不同意</asp:ListItem>
                </asp:CheckBoxList><br /><br />
                
                 <asp:Label ID="Label3" runat="server" Text="读大学时经常去网吧 "></asp:Label>
                     <asp:CheckBoxList ID="CheckBoxList3" BorderWidth="1" runat="server" RepeatLayout="Flow">
        <asp:ListItem onclick="CheckBoxList_Click(this)" Value="同意">同意</asp:ListItem>
        <asp:ListItem onclick="CheckBoxList_Click(this)" Value="不同意">不同意</asp:ListItem>
                </asp:CheckBoxList><br /><br />
                
                 <asp:Label ID="Label4" runat="server" Text="夜晚的生活总是比白天丰富"></asp:Label>
                     <asp:CheckBoxList ID="CheckBoxList4" BorderWidth="1" runat="server" RepeatLayout="Flow">
        <asp:ListItem onclick="CheckBoxList_Click(this)" Value="同意">同意</asp:ListItem>
        <asp:ListItem onclick="CheckBoxList_Click(this)" Value="不同意">不同意</asp:ListItem>
                </asp:CheckBoxList>
                <br /><br />
        <asp:Button ID="Button1" runat="server" OnClick="Button1_Click" Text="Button" />
其实有70多个label  和CheckBoxList    ·· 我这里只是给4个      我现在就是 想要button  想把 这4个 label  和 CheckBoxList  用 for 来 显示出来···希望 哪位 高手能告诉我下··这 里面的for  是怎么样写··最好能提供一下源代码·· 谢谢了·
    protected void Button1_Click(object sender, EventArgs e)
    {
        
    }

解决方案 »

  1.   

    你这个没有太大规律,只能对一个个CheckBoxList进行遍历了。
      

  2.   

    建议放在一个table里<table id="table1" runat="server">
     <tr>
       <td>
          <asp:Label ID="Label1" runat="server" Text="我喜欢开快车。"> </asp:Label>
       </td>
       <td>
          <asp:CheckBoxList ID="CheckBoxList1" BorderWidth="1" runat="server" RepeatLayout="Flow"  > 
            <asp:ListItem onclick="CheckBoxList_Click(this)" Value="同意">同意 </asp:ListItem> 
            <asp:ListItem onclick="CheckBoxList_Click(this)" Value="不同意">不同意 </asp:ListItem> 
           </asp:CheckBoxList>
       </td>
      </tr>
      ..... </table>再在后台遍历table的行,用FindControl方法找出Label CheckBoxList  PS:Label CheckBoxList  的ID要起的有规律,方便find 暂时提供这么多,吃饭先:)
      

  3.   

    其实遍历一遍控件就可以显示出来了
    但是为什么要这么弄呢?
    我觉得70多个那就一点一点的赋值比较好,你不知道 现在用for写出来了等你维护的时候如何维护呢?
      

  4.   

    建议放在一个table里,或使用repeater
    方法还是用FindControl方法找出Label CheckBoxList  
      

  5.   

    遍历太麻烦了。
    建议:你可以把你的数据 存入数据库,3列【Id:主键, Content, Select:同意/不同意】,
     显示时方便, 单击Button 更新数据库,再显示。
      

  6.   

    是动态显示控件吗?for (int i = 0; i < dtProtal.Rows.Count; i++)
            {            //添加第一列CheckBox
                CheckBox[] cbList = new CheckBox[dtProtal.Rows.Count];
                cbList[i] = new CheckBox();
                cbList[i].Text = dtProtal.Rows[i][2].ToString();
                cbList[i].ID = "cbID" + i;
                if (Convert.ToBoolean(dtProtal.Rows[i][3]))
                {
                    cbList[i].Checked = true;
                }
                TableCell cellName = new TableCell();
                cellName.Controls.Add(cbList[i]);
                
                //添加第二列HtmlSelect
                HtmlSelect[] selectList = new HtmlSelect[dtProtal.Rows.Count];
                selectList[i] = new HtmlSelect();
                selectList[i].ID = "select" + i;
                selectList[i].Value = dtProtal.Rows[i][1].ToString();
                selectList[i].Attributes.Add("style", "width:80px;");
                selectList[i].Attributes.Add("runat", "server");            ListItem itemL = new ListItem();
                itemL.Text = "左列";
                itemL.Value = "0";
                ListItem itemM = new ListItem();
                itemM.Text = "中列";
                itemM.Value = "1";
                ListItem itemR = new ListItem();
                itemR.Text = "右列";
                itemR.Value = "2";            if (Convert.ToChar(dtProtal.Rows[i][1]) == '0')
                    itemL.Selected = true;
                if (Convert.ToChar(dtProtal.Rows[i][1]) == '1')
                    itemM.Selected = true;
                if (Convert.ToChar(dtProtal.Rows[i][1]) == '2')
                    itemR.Selected = true;            if (cbSystem.Checked)
                    selectList[i].Items.Add(itemR);
                else
                {
                    selectList[i].Items.Add(itemL);
                    selectList[i].Items.Add(itemM);
                    selectList[i].Items.Add(itemR);
                }
                TableCell cellType = new TableCell();
                cellType.Controls.Add(selectList[i]);            //添加第三列HiddenField列
                HiddenField[] hiddenList = new HiddenField[dtProtal.Rows.Count];
                hiddenList[i] = new HiddenField();
                hiddenList[i].ID = "hidden" + i;
                hiddenList[i].Value = dtProtal.Rows[i][4].ToString();
                TableCell cellHidden = new TableCell();
                cellHidden.Controls.Add(hiddenList[i]);            //实例化row,添加列
                trList[i] = new TableRow();
                trList[i].Controls.Add(cellName);
                trList[i].Controls.Add(cellType);
                trList[i].Controls.Add(cellHidden);
                t1.Controls.Add(trList[i]);
            }
      

  7.   

    好的·· 我现在已经把label  和   CheckBoxList  放进了table  中了   <table id="table1" runat="server">
        <tr>
          <td><asp:Label ID="Label1" runat="server" Text="我喜欢开快车。"></asp:Label></td>  
    <td>
         <asp:CheckBoxList ID="CheckBoxList1" BorderWidth="1" runat="server" RepeatLayout="Flow"  >
            <asp:ListItem onclick="CheckBoxList_Click(this)" Value="同意">同意</asp:ListItem>
            <asp:ListItem onclick="CheckBoxList_Click(this)" Value="不同意">不同意</asp:ListItem>
                    </asp:CheckBoxList></td>
           </tr>  
           <tr>              <td><asp:Label ID="Label2" runat="server" Text="读书时不怎么用功"></asp:Label></td> 
            <td><asp:CheckBoxList ID="CheckBoxList2" BorderWidth="1" runat="server" RepeatLayout="Flow">
            <asp:ListItem onclick="CheckBoxList_Click(this)" Value="同意">同意</asp:ListItem>
            <asp:ListItem onclick="CheckBoxList_Click(this)" Value="不同意">不同意</asp:ListItem>
                    </asp:CheckBoxList></td>
                    </tr> 
                    
                    <tr><td><asp:Label ID="Label3" runat="server" Text="读大学时经常去网吧 "></asp:Label></td>
                       <td> <asp:CheckBoxList ID="CheckBoxList3" BorderWidth="1" runat="server" RepeatLayout="Flow">
            <asp:ListItem onclick="CheckBoxList_Click(this)" Value="同意">同意</asp:ListItem>
            <asp:ListItem onclick="CheckBoxList_Click(this)" Value="不同意">不同意</asp:ListItem>
                    </asp:CheckBoxList></td> </tr> 
                    
                    <tr><td><asp:Label ID="Label4" runat="server" Text="夜晚的生活总是比白天丰富"></asp:Label></td>
                       <td> <asp:CheckBoxList ID="CheckBoxList4" BorderWidth="1" runat="server" RepeatLayout="Flow">
            <asp:ListItem onclick="CheckBoxList_Click(this)" Value="同意">同意</asp:ListItem>
            <asp:ListItem onclick="CheckBoxList_Click(this)" Value="不同意">不同意</asp:ListItem>
                    </asp:CheckBoxList>
                   </td> </tr> </table>
            <asp:Button ID="Button1" runat="server" OnClick="Button1_Click" Text="Button" />
    现在谁能告诉我一下      protected void Button1_Click(object sender, EventArgs e) 
        { 
            
        }中的事件怎么写··
      

  8.   


    还是放在一个单元格里好取:><table id="table1" runat="server">
     <tr>
          <asp:Label ID="Label1" runat="server" Text="我喜欢开快车。"> </asp:Label>
       <td>
          <asp:CheckBoxList ID="CheckBoxList1" BorderWidth="1" runat="server" RepeatLayout="Flow"  > 
            <asp:ListItem onclick="CheckBoxList_Click(this)" Value="同意">同意 </asp:ListItem> 
            <asp:ListItem onclick="CheckBoxList_Click(this)" Value="不同意">不同意 </asp:ListItem> 
           </asp:CheckBoxList>
       </td>
      </tr>
      .....
      <tr>
          <asp:Label ID="Label70" runat="server" Text="我喜欢开喝酒。"> </asp:Label>
       <td>
          <asp:CheckBoxList ID="CheckBoxList70" BorderWidth="1" runat="server" RepeatLayout="Flow"  > 
            <asp:ListItem onclick="CheckBoxList_Click(this)" Value="同意">同意 </asp:ListItem> 
            <asp:ListItem onclick="CheckBoxList_Click(this)" Value="不同意">不同意 </asp:ListItem> 
           </asp:CheckBoxList>
       </td>
      </tr>
     </table>CS后台遍历:             ArrayList lblText=new ArrayList(); //保存label的值
                 ArrayList ckValue=new ArrayList(); //保存CheckBoxList的值
                  for (int i = 0; i < table1.Rows.Count; i++)
                {
                    Label lab1 = table1.Rows[i].Cells[0].FindControl("Label" + (i+1).ToString()) as Label;
                    lblText.Add(lab1.Text);
                    CheckBoxList ck= table1.Rows[i].Cells[0].FindControl("CheckBoxList" + (i+1).ToString()) as CheckBoxList;
                    ckValue.Add(ck.SelectedValue);
                }
      

  9.   


    刚才有问题<table id="table1" runat="server">
     <tr>
          
       <td>
          <asp:Label ID="Label1" runat="server" Text="我喜欢开快车。"> </asp:Label>
          <asp:CheckBoxList ID="CheckBoxList1" BorderWidth="1" runat="server" RepeatLayout="Flow"  > 
            <asp:ListItem onclick="CheckBoxList_Click(this)" Value="同意">同意 </asp:ListItem> 
            <asp:ListItem onclick="CheckBoxList_Click(this)" Value="不同意">不同意 </asp:ListItem> 
           </asp:CheckBoxList>
       </td>
      </tr>
      .....
      <tr>
         <td>
          <asp:Label ID="Label70" runat="server" Text="我喜欢开喝酒。"> </asp:Label>      <asp:CheckBoxList ID="CheckBoxList70" BorderWidth="1" runat="server" RepeatLayout="Flow"  > 
            <asp:ListItem onclick="CheckBoxList_Click(this)" Value="同意">同意 </asp:ListItem> 
            <asp:ListItem onclick="CheckBoxList_Click(this)" Value="不同意">不同意 </asp:ListItem> 
           </asp:CheckBoxList>
       </td>
      </tr>
     </table>
      

  10.   

    如果放两个单元格的话程序就改成这种;
                
                ArrayList lblText=new ArrayList(); //保存label的值
                 ArrayList ckValue=new ArrayList(); //保存CheckBoxList的值
                  for (int i = 0; i < table1.Rows.Count; i++)
                {
                    Label lab1 = table1.Rows[i].Cells[0].FindControl("Label" + (i+1).ToString()) as Label;
                    lblText.Add(lab1.Text);
                    CheckBoxList ck= table1.Rows[i].Cells[1].FindControl("CheckBoxList" + (i+1).ToString()) as CheckBoxList;
                    ckValue.Add(ck.SelectedValue);
                }
      

  11.   


    页面放个panel,把table给panel
      

  12.   

    可以把这些内容放在一个DIV中,通过JS读取
    var obj=document.getElementById("div_test");
    var value_str="";
    if(obj!=null)
    {
       for(i=0;i<obj.children.length;i++)
       {
            //通过判断是Label还是checkbox取值
       }
    }