设置LinkButton的CommandName和CommandArgs,我然后处理GridView的RowCommand就可以解决了.没必要弄这么复杂
<asp:GridView ID="GridView1" runat="server" OnRowCommand="GridView1_RowCommand">
            <Columns> 
                 <asp:BoundField DataField="dBgnDate" HeaderText="开始日期" DataFormatString="{0:yyyy年M月d日}" HtmlEncode="false"  /> 
                 <asp:BoundField DataField="dEndDate" HeaderText="结束日期" DataFormatString="{0:yyyy年M月d日}" HtmlEncode="false"   /> 
                 <asp:TemplateField HeaderText = "删除">  
                      <ItemTemplate>  
                              <asp:LinkButton ID="lb_del" runat="server" CommandArgument='<%# Eval("id") %>' CommandName="Del" OnClick="lb_save_Click">删除 </asp:LinkButton> 
                      </ItemTemplate>  
                 </asp:TemplateField>                     
             </Columns>             </asp:GridView>    protected void GridView1_RowCommand(object sender, GridViewCommandEventArgs e)
    {
        if (e.CommandName = "Del")
        {
           // Process(e.CommandArgument)
        }
    }