I have this code:
protected void ibtGenerateReport_Click(object sender, ImageClickEventArgs e)
{
string filename = "report.xls";
StringWriter stringWriter = new StringWriter();
HtmlTextWriter htmlWrite = new HtmlTextWriter(stringWriter);
DataGrid DataGrd = new DataGrid();
DataGrd.DataSource = odsLSRAudit;
DataGrd.DataBind();
DataGrd.RenderControl(htmlWrite);
System.IO.StreamWriter vw = new System.IO.StreamWriter(filename, true);
stringWriter.ToString().Normalize();
vw.Write(stringWriter.ToString());
vw.Flush();
vw.Close();
WriteAttachment(filename, "application/vnd.ms-excel", stringWriter.ToString());
}
public static void WriteAttachment(string FileName, string FileType, string content)
{
HttpResponse Response = System.Web.HttpContext.Current.Response;
Response.ClearHeaders();
Response.AppendHeader("Content-Disposition", "attachment; filename=" + FileName);
Response.ContentType = FileType;
Response.Write(content);
Response.End();
}
But the Response.End()
gives me the below error:
Microsoft JScript runtime error: Sys.WebForms.PageRequestManagerParserErrorException: The message received from the server could not be parsed. Common causes for this error are when the response is modified by calls to Response.Write(), response filters, HttpModules, or server trace is enabled.
Details: Error parsing near '<table cellspacing="'.
The Response.Write(content)
has the correct information as I can see. But no Save/Open dialog box appear, besides the above error.
I'm using UpdatePanels.