现在的位置: 首页 > 综合 > 正文

求解asp.net ajax框架下Scriptmanager控件中Response的问题

2012年05月24日 ⁄ 综合 ⁄ 共 958字 ⁄ 字号 评论关闭

本人需要从GridView导出Excel表格 ,以下是导出部分的代码

public static void DataGridToExcel(GridView dg, Page page)
    {
        page.Response.Clear();
        page.Response.Buffer = true;
        page.Response.Charset = "GB2312";
        string str = "生成的电子表格.xls";
        page.Response.AppendHeader("Content-Disposition", "attachment;filename=" + HttpUtility.UrlEncode(str, Encoding.UTF8));
        page.Response.ContentEncoding = Encoding.GetEncoding("GB2312");
        page.Response.ContentType = "application/ms-excel";
        page.EnableViewState = false;
        CultureInfo formatProvider = new CultureInfo("ZH-CN", true);
        StringWriter writer = new StringWriter(formatProvider);
        HtmlTextWriter writer2 = new HtmlTextWriter(writer);
        dg.RenderControl(writer2);
        page.Response.Write(writer.ToString());
        page.Response.End();
        dg.AllowPaging = true;
        dg.DataBind();

    }
在普通页面上,一切正常,可以正常导出Excel文件。
当此页面加入到Ajax框架中,使用Scriptmanager控件和updatepanel控件以后,页面出现Response相关的错误,


请高手指教如何解决Scriptmanager与页面输出的矛盾!

抱歉!评论已关闭.