in click event, after the load event initiated:

Response.Clear();

Response.AddHeader("content-disposition", "attachment;filename=payment_details.xls");

Response.Charset = String.Empty; Response.ContentType = "application/ms-excel"; StringWriter stringWriter = new StringWriter(); HtmlTextWriter HtmlTextWriter = new HtmlTextWriter(stringWriter); grdPaymentDetl.RenderControl(HtmlTextWriter); Response.Write(stringWriter.ToString()); Response.End();

add this method in aspx page:

public override void VerifyRenderingInServerForm(Control control)
 {
 /* Confirms that an HtmlForm control is rendered for the specified ASP.NET
 server control at run time. */
 }

Note: Do work Under <Updatapanel>