在DataGrid1_ItemCommand添加
if(e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
{
 LinkButton LinkButton1;
LinkButton1=(LinkButton)e.Item.FindControl("LinkButton1");
LinkButton1.Click += new System.EventHandler(this.Button2_Click);}

解决方案 »

  1.   

    <asp:DataGrid id=DataGrid1 OnItemCommand="DataGrid1_ItemCommand" ...<asp:TemplateColumn>
     <ItemTemplate>
       <asp:Button id=btn1 CommandName="Button1" runat=server text=b />
     </ItemTemplate>
    </asp:TemplateColumn><asp:TemplateColumn>
     <ItemTemplate>
       <asp:Button id=btn2 CommandName="Button2" runat=server text=b />
     </ItemTemplate>
    </asp:TemplateColumn>
    ...
    void DataGrid1_ItemCommand(Object sender, DataGridCommandEventArgs e)
    {
             switch(((Button)e.CommandSource).CommandName)
             {
                case "Button1":
                   //call method1
                   break;            case "Button2":
                   //call method2
                   break;               default:               break;         }}
      

  2.   

    大侠不对啊编译器错误信息: CS0122: 不可访问“aspnet.manage.access.content_list.DataGrid1_ItemCommand(object, System.Web.UI.WebControls.DataGridCommandEventArgs)”,因为它受保护级别限制源错误: 行 24:  </TR>
    行 25:  <TR>
    行 26:  <TD align="middle"><asp:datagrid id="DataGrid1" runat="server" Width="598px" CssClass="text" PageSize="15" AllowPaging="True" AutoGenerateColumns="False" DataKeyField="id" OnItemCommand="DataGrid1_ItemCommand">
    行 27:  <Columns>
    行 28: