这几天工作,用的是AJAX框架,结果导出Excel表格的时候无法导出。 解决办法:1、在.aspx页面首行中<%@ Page Language="C#" AutoEventWireup="true" CodeFile="JinHuoDan.aspx.cs" Inherits="out_store_JinHuoDan" %> 添加EnableEventValidation="false" ; 2、在UPdatePanel中添加</ContentTemplate> <Triggers> <asp:PostBackTrigger ControlID="Out_excel" />//这里的ID指的是你单击导出Execel的控件,使这个控件回发。 </Triggers> </asp:UpdatePanel> ; 3、导出EXCEL的代码: Response.Clear(); Response.Charset = "GB2312"; Response.AppendHeader("Content-Disposition", "attachment;filename=" + DateTime.Now.ToString("yyyyMMddHHmmss") + ".xls"); Response.ContentEncoding = System.Text.Encoding.UTF7; Response.ContentType = "application/ms-excel"; System.IO.StringWriter ostrwriter = new System.IO.StringWriter(); HtmlTextWriter ohtwriter = new HtmlTextWriter(ostrwriter); this.GridView1.RenderControl(ohtwriter); Response.Output.Write(ostrwriter.ToString()); Response.Flush(); Response.End(); 并且添加代码行: public override void VerifyRenderingInServerForm(Control control) { } //这行代码是要确认运行时指定的服务器控件呈现,一定要添加 运行解决问题