目前代码如下..点击按钮后根本就不跳入事件,注:事件没有丢失,麻烦大大们帮我看看if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
{
     LinkButton lb=new LinkButton();
     lb.Text="交费";
     lb.CommandName="lb";
     (e.Item.Cells[5]).Controls.Add(lb);
}
public void datagrid_ItemCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
{
   if(e.CommandName=="lb")
{
Response.Redirect("Add.aspx");
}

解决方案 »

  1.   

    加OnItemCommand="datagrid_ItemCommand了没,如<asp:DataGrid id="DataGrid1" runat="server" OnItemCommand="datagrid_ItemCommand">
    </asp:DataGrid>
      

  2.   

    OnItemCommand="datagrid_ItemCommand"是在html里面加,不是在cs代码里加<asp:DataGrid id="datagrid" runat="server" OnItemCommand="datagrid_ItemCommand">
    </asp:DataGrid>
    然后
    protected void datagrid_ItemCommand(object sender,DataGridCommandEventArgs e)
    {
                switch(Convert.ToString(((LinkButton)e.CommandSource).CommandName))
                {
                    case "lb":                    
                        Response.Redirect("Add.aspx");
                        break;
                }            
    }datagrid_ItemCommand可以自己随便命名,只要和OnItemCommand="datagrid_ItemCommand"对应上就可以
      

  3.   

    lb.OnItemCommand += new eventhandle(this.datagrid_ItemCommand)创建控件的时候,加一个委托试试
      

  4.   

    singlepine(小山) 加了.还是不行..没有跳到事件里面去
      

  5.   

    补充..我的datagrid是在点击搜索按钮之后再绑定的
      

  6.   

    ....唉..我的目的其实是要实现...如果已经付费就再datagrid的列里显示退还和付费2个按钮,并可以点击连接到其他页面,如果没付费就只显示一个付费按钮,请问除了动态添加按钮外有别的方法吗
      

  7.   

    lb.OnItemCommand += new eventhandle(this.datagrid_ItemCommand)
    要添加委托
      

  8.   

    如果 你确信其它地方都没有问题的话,
    那你把Response.Redirect("Add.aspx");
    改为 window.location.href='Add.aspx';");试一下
      

  9.   

    DATAGRID内的动态控件,每次load都要首先绑定生成,然后才能响应相关的事件,然后再重新绑定。