DataGrid1.DeleteCommand += new System.Web.UI.WebControls.DataGridCommandEventHandler(DataGrid1_DelCommand);

解决方案 »

  1.   

    改为:
    protected LinkButton cmdDel;
    private void Page_Load(object sender, System.EventArgs e)
    {
    }
      

  2.   

    你可以用属性生成器-列-按钮列-删除?
    按钮列有delete事件的定义,相当于click事件如果是自定义的,可以把click事件的代码写成脚本,放在html里
      

  3.   

    this.cmdDel.Click += new System.EventHandler(this.cmdDel_Click);
    不应该加vs.net中选择DataGrid在属性栏中选择闪电的符号再选择DeleteCommand
      

  4.   

    模板列的控件是没有事件的,你可以指定LinkButton 的CommandName属性:
    <ItemTemplate>
                        <asp:LinkButton ID=AddButton Text="添加" CommandName="AddToCart" ForeColor="blue" runat="server" />&nbsp;
                        <asp:LinkButton ID=RemoveButton Text="移除" CommandName="RemoveFromCart" ForeColor="blue" runat="server" />
                    </ItemTemplate>然后在DataGrid的MyDataGrid_ItemCommand()事件中处理:
    private void MyDataGrid_ItemCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
    {
    if (((LinkButton)e.CommandSource).CommandName == "AddToCart") {
                //添加代码
            }
            else {  
                  //从 Cart 中移除
            
                  }
    BindGrid();
    }
      

  5.   

    /////////////////////////////////
    我在DataGrid1_DelCommand里面加了一个
    e.Item.Cells[1];
    想取得当前那个位置的值,但总是空
    但那里肯定有值啊
    如果写e.Item.Cells[1] = "暗暗";
    可以设置那个值
    为什么???????
    /////////////////////////////////
      

  6.   

    this.cmdDel.Click += new System.EventHandler(this.cmdDel_Click);
    放在
    cmdDel = new LinkButton();后面
    因為load 事件后執行InitializeComponent先執行
      

  7.   

    但那樣做必須render你new的控件﹐不然沒法顯示