<asp:DataList ID="dlAuditNews" BackColor="#FFFFFF" runat="server" Width="99%" Cellpadding="0" Cellspacing="1">
                    <ItemTemplate>
                 <tr>
  <td width="9%" height="27" align="center"  class="blue">
                      <asp:CheckBox ID="ck" runat="server" />
                      <asp:HiddenField ID="NewsId" runat="server" Value='<%# Eval("Id") %>' />     
  </td>
  <td width="13%" height="27" align="center"  class="wb">
 
 </td>
  <td width="66%" align="left"  class="wb">
  <a href='../news_wb.aspx?id=<%# Eval("Id") %>' target="_blank">
  <font color="color">
  <%# Eval("Title") %>
  </font></a></td>
  <td width="12%" align="center"  class="wb">
  <a href='EditNews.aspx?NewsId=<%# Eval("Id") %>'>
  审核</a>
  </td>
</tr> 
                    </ItemTemplate>
                </asp:DataList>
我想遍历上面的CHECKBOX,但是结果是所有的复选框都被选中了,状态却为false,后台代码是
foreach (DataListItem dli in dlAuditNews.Items)
       {           CheckBox ck = dli.FindControl("ck") as CheckBox;
           if (ck.Checked)
           {
               HiddenField hf = dli.FindControl("NewsId") as HiddenField;
               sb.Append(hf.Value + ",");
           }
       }

解决方案 »

  1.   


    for (int i = 0; i < gvArticle.Rows.Count; i++)
            {
                HtmlInputCheckBox cb =(HtmlInputCheckBox) gvArticle.Rows[i].FindControl("cbSelect");
                if (cb != null)
                {
                    if (cb.Checked == true)
                    {
                        lblInfo.Text += DeleteArticle(gvArticle.Rows[i].Cells[1].Text);
                    }
                }
            }