我在GRIDVIEW中加了一个CHECKBOX,这样写为什么没反应?  是不是我的代码写错了?   protected void Button1_Click(object sender, EventArgs e)
     {
        StringBuilder str = new StringBuilder();
         for (int i = 0; i<GridView1.Rows.Count; i++)
            {
              GridViewRow row = GridView1.Rows[i];
              bool isChecked = ((CheckBox)row.FindControl("chkSelect")).Checked;
              if (isChecked)
                {
                    str.Append(row.Cells[1].Text);
                 } 
             }
               Response.Write(str.ToString());
               Response.Write("sasadasd");
     }

解决方案 »

  1.   

    1.CheckBox有没有勾上了
    2。chkSelect有没有写错
    3。可能是str没有付初值
    StringBuilder str = new StringBuilder();
    str="";
    4。试下上面123先
      

  2.   

    Response.Write("sasadasd");
    这句话出来了么?
      

  3.   

    Response.Write("sasadasd");这句没执行了可能是按钮的单击事件没触发,
    你看下那个按钮的事件列里单击有事件没
      

  4.   

    Response.Write(  "sasadasd  ");  能出来
      

  5.   

    看GRIDVIEW代码,CHECKBOX有没runat=server
      

  6.   

    如果连Response.Write("sasadasd");那么你的按钮的事件注册一定有问题,看看aspx页面是否有
    <asp:Button ID="Button1" runat="server" OnClick="Button1_Click" Text="Button" />
      

  7.   

    <form id="form1" runat="server">
        <div>
            <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" BackColor="White"
                BorderColor="#3366CC" BorderStyle="None" BorderWidth="1px" CellPadding="4" >
                <FooterStyle BackColor="#99CCCC" ForeColor="#003399" />
                <RowStyle BackColor="White" ForeColor="#003399" />
                <SelectedRowStyle BackColor="#009999" Font-Bold="True" ForeColor="#CCFF99" />
                <PagerStyle BackColor="#99CCCC" ForeColor="#003399" HorizontalAlign="Left" />
                <HeaderStyle BackColor="#003399" Font-Bold="True" ForeColor="#CCCCFF" />
                
                <Columns>
              
                    <asp:BoundField DataField="ptitle" HeaderText="标题" />
                  <asp:TemplateField  HeaderText="选择" >
                                    <ItemTemplate>
                                          <asp:CheckBox ID="chkSelect" runat="server" ></asp:CheckBox>
                                  </ItemTemplate>
                              </asp:TemplateField>
                    
                     
                </Columns>
            </asp:GridView>
            <br />
            <asp:Button ID="Button1" runat="server" OnClick="Button1_Click" Text="Button" />
           
           
           <asp:CheckBox ID="chkSelectAll" runat="server" Text="全部选中" OnCheckedChanged="chkSelectAll_CheckedChanged" AutoPostBack="True" ></asp:CheckBox>    </div>
      

  8.   

    你的row.Cells[1].Text在那呢?都只有1列去那来的Cells[1]啊
      

  9.   

    我写成row.Cells[0].Text也是一样呀!就是没反应
      

  10.   

    row.Cells[0].Text里面也没内容啊<ItemTemplate>
    <asp:CheckBox ID="chkSelect" runat="server" ></asp:CheckBox>
    </ItemTemplate>这样怎么会有数据<asp:CheckBox ID="chkSelect" runat="server" >按时打发上</asp:CheckBox>这样看下
      

  11.   

    你的代码如果连Response.Write("sasadasd");都出不来,其他的就先别想了
      

  12.   

    怀疑是你在打上勾后,什么地方又重新绑定了GRIDVIEW,让CHEKCKBOX又初始化了请查自己的代码
      

  13.   

    <asp:CheckBox ID="chkSelect" runat="server" selected='<%# 在此写绑定表达式函数试一下了 %>' ></asp:CheckBox>
      

  14.   

    谢谢 ken_flash(沉默的神) ,问题解决了,确实是这个原因造成的!
      

  15.   

    谢谢 ken_flash(沉默的神) ,问题解决了,确实是这个原因造成的!