如果是服务器段的控件是肯定要page_load的
你在数据绑定写在not isPostBack里面
If not IsPostBack then
  数据绑定
end If

解决方案 »

  1.   

    那如何解决我上面提到的不能捕捉CheckBox的值的问题?
      

  2.   

    pageload中写
    if(!IsPostBack )
    {
    }
      

  3.   

    page_load
    {
       if(!Page.IspostBack)
       {
            your code……;
        }
    }这样就只在第一次时运行了。要不,就是
    private void InitializeComponent()
    {
    this.ImageButton1.Click += new System.Web.UI.ImageClickEventHandler(this.ImageButton1_Click);
    this.Load += new System.EventHandler(this.Page_Load); }
    里面,你检查一下
      

  4.   

    在模板列中拖一个CheckBox,名称为CB.
    for(int i=0;i < dg1.Items.Count;i++)
    {
      if(((CheckBox)dg1.Items[i].FindControl("CB")).Checked==true)
       {
         //删除该行.
       }
     }
      

  5.   

    你在page_load里加一个判断啊!!
    if (!IspostBack)
    {
    //只是在第一次执行的代码
    }
      

  6.   

    我发现不是Page_Load的问题,是在判断我选中的CheckBox是否为true时,程序老是判断它为false,然后,循环无论如何进不去,这样就无法删除选中的行了。(我明明在DataGrid中点选了的),不知道各位有没有碰到类似情况,如果有解决的方法,请赐教!
      

  7.   

    把你的Page_Load里的代码和DataGrid中删除事件中的代码贴出来.
      

  8.   

    if (!IspostBack)
    {
    //只是在第一次执行的代码
    }
    这个问题我也碰到过,不加上面的代码的话,你的checkbox默认是什么值,得到的就是什么值。
      

  9.   

    CheckBox数据绑定的代码也成第一次执行!
    if (!IsPostBack)
    {
    //写在这里!
    }
      

  10.   

    该问题已解决,问题不出在后台C#代码,而是出在美工给我的网页中,她把删除按钮和DataGrid放在两个form里,所以导致我的问题。仍然感谢各位的帮助!谢谢!