tôi có mã này:Response.End() tạo ra một lỗi khi xuất khẩu GridView để file excel
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();
}
Nhưng Response.End()
mang lại cho tôi những lỗi dưới đây:
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="'.
Các Response.Write(content)
có thông tin chính xác như tôi có thể thấy. Nhưng không có hộp thoại Save/Open xuất hiện, ngoài lỗi trên.
Tôi đang sử dụng UpdatePanels.
bạn đang sử dụng bảng cập nhật hoặc ajax asp.net? hãy thử điều này http://stackoverflow.com/questions/11221033/sys-webforms-pagerequestmanagerparsererrorexception-the-message-received-from-t – feco