.aspX<asp:repeater id="Repeater1" runat="server" DataMember="5"><ItemTemplate>
<asp:CheckBox ID="stat" Text='<%# DataBinder.Eval(Container.DataItem, "id") %>' runat="server"></asp:CheckBox>
</ItemTemplate>
..........aspX.cs
private void 单击_Click(object sender, System.EventArgs e)
{  foreach (RepeaterItem item in Repeater1.Items)
    {
   System.Web.UI.WebControls.CheckBox chkbox1 = (System.Web.UI.WebControls.CheckBox)item.FindControl("stat");
if (chkbox1.Checked)
           {
     //删除数据    }    }问题:
  在前台当我选中某个CheckBox,但是后台chkbox1.Checked永远是 False, 真是不知道是为什么?请高手指点!是什么原因?怎样处理?谢谢

解决方案 »

  1.   

    可能你在page_load事件中拌定数据的时候没有把数据放在
    if(!IsPostBack)
    {
    //拌定数据
    }还有可以参考一下孟子E章的例子
    http://dotnet.aspx.cc/ShowDetail.aspx?id=FF130C7F-3650-4DA6-8943-8AA4AF3E3459
      

  2.   

    LaoDai_Net(『老代.Net』) 说的对
    没有放在上述条件中,则在每一次页面提交时,都将重新绑定你的DATAGRID控件,从而每次者重新初始化你的复选框,所以你明明选择了,但它永远是未选中.
      

  3.   

    还有就是将你的Repeater1的EnableViewState属性设置为True。
      

  4.   

    Page_Load里面没有加限制条件,重复绑定了
    if(!IsPostBack)
    {
    //拌定数据
    }加上上面的条件,只在第一次Load页面的时候绑定数据