UpdatePanel中如何导出excel?我新建一个页面不用UpdatePanel,可以导出,但是在UpdatePanel中就报错了。
protected void 导出具体订单excel_Click(object sender, EventArgs e)
        {
            Export("application/ms-excel", "111.xls");
        }
        private void Export(string FileType, string FileName)
        {
            Response.Charset = "GB2312";
            Response.ContentEncoding = System.Text.Encoding.UTF7;
            Response.AppendHeader("Content-Disposition", "attachment;filename=" + HttpUtility.UrlEncode(FileName, Encoding.UTF8).ToString());
            Response.ContentType = FileType;
            this.EnableViewState = false;
            StringWriter tw = new StringWriter();
            HtmlTextWriter hw = new HtmlTextWriter(tw);
            GridView3.RenderControl(hw);
            Response.Write(tw.ToString());
            Response.End();            UpdatePanel2.Update();
        }
        public override void VerifyRenderingInServerForm(Control control)
        {
            // 覆盖VerifyRenderingInServerForm方法,非常重要,否则系统会报错
            //base.VerifyRenderingInServerForm(control);
        }

解决方案 »

  1.   

    很多功能在UpdatePanel是不能使用的
      

  2.   

    你如果是想无刷新,我建议你在Page里实现ICallBackEventHandler接口去实现无刷新
      

  3.   

    1、把那个按钮改成英文名吧,比如叫:btnExport;
    2、添加导出按钮的触发器:<asp:UpdatePanel ID="UpdatePanel1" runat="server">
        <ContentTemplate>
        //中间是你的代码
        </ContentTemplate>
        <Triggers>
            <asp:PostBackTrigger ControlID="btnExport" />
        </Triggers>
        </asp:UpdatePanel>
      

  4.   

    我做的项目都是用4楼的
        <Triggers>
            <asp:PostBackTrigger ControlID="btnExport" />
        </Triggers>
    Response必须用回发的。