为什么我的着段代码不能判断出CHECKBOX。CHECKED呢 private void LinkButton3_Click(object sender, System.EventArgs e) 
      { 
         for (int i=0;i<DataGrid1.Items.Count;i++) 
         { 
            if(((System.Web.UI.WebControls.CheckBox)DataGrid1.Items[i].Cells[0].Controls[1]).Checked) 
            {          
                      Label1.Text="test";
            } 
         } 
      }

解决方案 »

  1.   

    for (int i=0;i<DataGrid1.Items.Count;i++) 
             { 
                if (item.ItemType == ListItemType.Item || 
                  item.ItemType == ListItemType.AlternatingItem) 
               {
                  if(((System.Web.UI.WebControls.CheckBox)DataGrid1.Items[i].Cells[0].Controls[1]).Checked) 
                  {          
                          Label1.Text="test";
                  }
                } 
             } 
      

  2.   

    更正:foreach (DataGridItem item in DataGrid1.Items) {
              if (item.ItemType == ListItemType.Item || 
                  item.ItemType == ListItemType.AlternatingItem) {
                  CheckBox box = (CheckBox) item.Cells[0].Controls[1];
                  if (box.Checked) {
                      Label1.Text="test";
                  }
              }       }
      

  3.   

    我的前台页面
    <asp:datagrid id="DataGrid1" style="Z-INDEX: 101; LEFT: 56px; POSITION: absolute; TOP: 48px" runat="server"
    AllowPaging="True" PageSize="5" Height="208px" Width="552px" AutoGenerateColumns="False" CellPadding="0"
    CellSpacing="1" BorderColor="White" BorderStyle="Ridge" BorderWidth="1px" BackColor="White"
    GridLines="None" DataKeyField="MailId">
    <SelectedItemStyle Font-Bold="True" ForeColor="White" BackColor="#9471DE"></SelectedItemStyle>
    <ItemStyle ForeColor="Black" BackColor="#DEDFDE"></ItemStyle>
    <HeaderStyle Font-Bold="True" ForeColor="#E7E7FF" BackColor="#4A3C8C"></HeaderStyle>
    <FooterStyle ForeColor="Black" BackColor="#C6C3C6"></FooterStyle>
    <Columns>
    <asp:TemplateColumn>
    <HeaderStyle Width="20px"></HeaderStyle>
    <HeaderTemplate>
    <asp:CheckBox ID="chkAll" onclick="javascript:return SelectAll(this.checked,this.id)" Runat="server"></asp:CheckBox>
    </HeaderTemplate>
    <ItemTemplate>
    <asp:CheckBox ID="chkOne" Text="" onclick="javascript:return SelectAll(this.checked,this.id)"
    Runat="server"></asp:CheckBox>
    </ItemTemplate>
    </asp:TemplateColumn>
    <asp:BoundColumn Visible="False" DataField="MailId"></asp:BoundColumn>
    <asp:BoundColumn Visible="False" DataField="MailStatus"></asp:BoundColumn>
    <asp:TemplateColumn>
    <HeaderStyle Width="20px"></HeaderStyle>
    <HeaderTemplate>
    <asp:Image ID="Image1" CssClass="BNPhoto" ImageUrl="images\mail_001.jpg" Runat="server"></asp:Image>
    </HeaderTemplate>
    <ItemTemplate>
    <asp:Image ID="imgLetterType" CssClass="BNPhoto" ImageUrl="images\mail_001.jpg" Runat="server"></asp:Image>
    </ItemTemplate>
    </asp:TemplateColumn>
    <asp:BoundColumn DataField="SendTo" HeaderText="收信人"></asp:BoundColumn>
    <asp:TemplateColumn>
    <HeaderTemplate>
    主题
    </HeaderTemplate>
    <ItemTemplate>
    <a href="NewMail.aspx?Flag=Edit&MailId=<%# DataBinder.Eval(Container.DataItem,"MailId")%>"><%# DataBinder.Eval(Container.DataItem,"MailTitle") %></a>
    </ItemTemplate>
    </asp:TemplateColumn>
    <asp:BoundColumn DataField="SendTime" HeaderText="发送时间"></asp:BoundColumn>
    </Columns>
    <PagerStyle NextPageText="下一页" PrevPageText="上一页" HorizontalAlign="Right" ForeColor="Black"
    BackColor="#C6C3C6"></PagerStyle>
    </asp:datagrid>
    包含的这么一个CHECKBOX的组,在我选种,或者是全选中后,我想记录他的每行的ID号,然后做出响应的事件,可现在我上面的代码没有判断出他是BOX。CHEECKED的
      

  4.   

    foreach (DataGridItem item in DataGrid1.Items) 
    {
        CheckBox box = (CheckBox) item..FindControl ("SeleteThis");
                  if (box.Checked)               {
                      Label1.Text="test";
                  }