datagrid绑定显示数据,其中一模板列绑定ImageButton,想实现点其中某条数据ImageButton后弹出一类似于MSgbox的窗口,提示 是否继续“是”“否”,选择“是”继续运行代码 然后关闭此弹出窗口并刷新datagrid页面。选择“否” 关闭弹出窗口。怎么实现?

解决方案 »

  1.   

    DataGridItemBound事件中:
    ((System.Web.UI.WebControls.ImageButton)e.Item.FindControl("ButtonName")).Attributes.Add("onClick","return confirm('?????')");
      

  2.   

    private void DataGrid1_ItemDataBound(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)
    {
        if(e.Item.ItemIndex>-1)
        {
    ImageButton btn = e.Item.FindControl("ImageButton1") as ImageButton;
    btn.Attributes.Add("onclick","return confirm('???');");
       }
    }
      

  3.   

    private void dgClass_ItemDataBound(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)
    {
    if(e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
    {
    ImageButton Ibtn =(ImageButton)e.Item.FindControl("ImageButton1");
    Ibtn .Attributes.Add("onclick","return confirm('XXX');");
    }
    }
      

  4.   

    Ibtn .Attributes.Add("onclick","return confirm('删除,继续么?');"); 放在dtgrid行循环判断的外面还是里面?
      

  5.   

    if(e.CommandSource.ToString()=="System.Web.UI.WebControls.ImageButton")
     {
     int iID = CGlbFunction.GetInt32FromString(((Label)e.Item.FindControl("J04_ID")).Text.ToString());
     int iRowCount = this.myDataSetSubShift.Tables[0].Rows.Count;

    for (int i =0; i< iRowCount; i++)
    {
    if (iID == (int)this.myDataSetSubShift.Tables[0].Rows[i]["J04_ID"]) {  //如果找到行
               ImageButton Ibtn =(ImageButton)e.Item.FindControl("ImageButton1");
      Ibtn .Attributes.Add("onclick","return confirm('删除,继续么?');");
                //其它执行代码
               break; //跳出循环
     }
    }
           
    }第一次不弹出