public void datagridBak_ItemCommand(object source,                                       System.Web.UI.WebControls.DataGridCommandEventArgs e)
{
if(e.CommandName=="delete")
{
if(e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
{
e.Item.Cells[3].Attributes.Add("onclick","javascript:return confirm('确实删除此项吗?');");
                                            Response.Write("删除");
                                      }
 }
}
以上为ButtonColumn列中,点删除键响应的时间,可是为什么我点第一次时不弹出confirm消息框,直接输出“删除”,点第二次才弹出confirm消息框??

解决方案 »

  1.   

    因为第一次才注册点击事件,第二次才是触发事件,建议在PAGE LOAD中注册事件
      

  2.   

    因为第一次才注册点击事件,第二次才是触发事件,建议在PAGE LOAD中注册事件
    --------------------------------------------------------------------------------
    怎么注册??谢谢
    根据一下看看运行那段代码没
    ----------------------------------------------
    运行了,但没有弹出:)
      

  3.   

    Attributes 是注册属性,你放在事件里当然要2次了,因为第一次触发事件是注册,第2次才生效,放在Page_Load里吧
      

  4.   

    Attributes 是注册属性,你放在事件里当然要2次了,因为第一次触发事件是注册,第2次才生效,放在Page_Load里吧
    ------------------------------------------------------------------------------------
    哦,这个要怎么注册在page_load里呢?谢谢:)
      

  5.   

    e.Item.Cells[3].Attributes.Add("onclick","javascript:return confirm('确实删除此项吗?');");放到gridview 的rowdatabind中
      

  6.   

    比如把Attributes.Add这样的注册放在注册的事件发生之前
      

  7.   

    e.Item.Cells[3].Attributes.Add("onclick","javascript:return confirm('确实删除此项吗?');");放到gridview 的rowdatabind中
    -----------------------------------------------------------
    我用的是DataGrid啊,这好像是两个控件吧
      

  8.   

    比如把Attributes.Add这样的注册放在注册的事件发生之前
    ----------------------------------------------------------
    那好像就只能放在Page_load事件里了啊 ,这个怎么注册呢?谢谢:)
      

  9.   

    DATAGRID也有DATABINDING事件吧,把那段
    e.Item.Cells[3].Attributes.Add("onclick","javascript:return confirm('确实删除此项吗?');");
    放进去就可以了,
    在PAGE LOAD事件里也可以,只要把E用对象替换掉就行,好象是datagridBak吧,不记得了,LZ试试吧
      

  10.   

    DATAGRID也有DATABINDING事件吧,把那段
    e.Item.Cells[3].Attributes.Add("onclick","javascript:return confirm('确实删除此项吗?');");
    放进去就可以了,
    在PAGE LOAD事件里也可以,只要把E用对象替换掉就行,好象是datagridBak吧,不记得了,LZ试试吧
    ----------------------------------------------------------------------------------
    恩,有DataBinding时间,可是这里e没有Item属性,而且放在page_load里也是同样的问题,把e换成datagridBak也说没有Item属性,不能编译过去,郁闷:(
      

  11.   

    datagrid里有ItemDataBound事件,你把该语句添加到此事件中即可
      

  12.   

    datagrid里有ItemDataBound事件,你把该语句添加到此事件中即可
    ----------------------------------------------------------------
    搞定了:)哈哈,非常感谢,还有以上各位前辈,谢谢你们:)
    祝工作愉快