make sure the handler is indeed hooked up:<asp:DataGrid id="dg_basket" Width="100%" runat="server" BorderWidth="1px" AutoGenerateColumns="False" BorderColor="#404040" CellPadding="0" OnItemCommand="dg_basket_ItemCommand"or in your code-behind
dg_basket.ItemCommand += new DataGridCommandEventHandler(dg_basket_ItemCommand);

解决方案 »

  1.   

    to saucer(思归, MS .NET MVP)在code-behind里有this.dg_basket.ItemCommand += new DataGridCommandEventHandler(dg_basket_ItemCommand);但就是不触发,不知道怎么回事,我改成
    private void dg_basket_ItemCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
    {
    this.btnSubmit.Text="点击";
    }都不行,显然是没有触发该事件啊
      

  2.   

    在code-behind加入:dg_basket.ItemCommand += new DataGridCommandEventHandler(dg_basket_ItemCommand);
      

  3.   

    if (((Button)e.CommandSource).CommandName=="btn_Remove_Click")
    { bConn.Open();
    bCmd.CommandText="Delete From GouWuLan Where ID=6";
    bCmd.Connection=bConn;
    bCmd.ExecuteNonQuery();
    bConn.Close();
    }改成
    if(e.CommandName=="btn_Remove_Click")
    { Response.Write("aaaaaaaaa");
    }
    应该是可以打印的
      

  4.   

    要不,再在刚才的if外面再加上
    if(e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
    {
        // 刚才的IF语句
    }
      

  5.   

    if(e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
    {
        if(e.CommandName=="btn_Remove_Click")
        {
    Response.Write("aaaaaaaaa");
        }
    }可以的
      

  6.   

    不行 啊,但是我加入一个edittemplatecloumn却可以顺便触发itemcommand事件,怎么回事啊
      

  7.   

    怎么可能呢,看我的源程序private void grid_ItemCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
    {
    if(e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
    {
    HtmlInputHidden picid  = (HtmlInputHidden) e.Item.Cells[0].FindControl("picid");

    // 编辑标题
    if(e.CommandName == "EditBase")
    {
    Page.RegisterStartupScript("EditBase","<script language='javascript'>parent.location.href='../Upload.aspx?mode=edit&picid=" + picid.Value + "'</script>");
    } // 录入明细资料
    if(e.CommandName == "AddDetail")
    {
    Page.RegisterStartupScript("AddDetailPic","<script language='javascript'>parent.location.href='../DetailPic.aspx?mode=add&picid=" + picid.Value + "'</script>");
    } // 删除该标准
    if(e.CommandName == "Delete")
    {
    Delete(picid.Value);
    }
    }
    }
      

  8.   

    假如你做的是Web应用程序,应该在操作完成之后重新绑定数据
      

  9.   

    将page_load中的代码贴出来看看
      

  10.   

    好像我也碰到过,把private 改为public试试看:
    private void dg_basket_ItemCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
    {
    }
    ->
    public void dg_basket_ItemCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
    {
    }
      

  11.   

    详细代码看这里
    http://expert.csdn.net/Expert/topic/1603/1603902.xml?temp=.1975519到时候一块结贴,现象可奇怪
      

  12.   

    这问题我也遇到了!
    我呸,微软,操你个大血妈,什么思路啊,破完样FUCK!