要么好好地活 要么赶紧去死

往上走,即便一小步,也有新高度.......
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

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

Posted on 2007-07-31 18:15  孤苏一叶  阅读(919)  评论(1)    收藏  举报

本人需要从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与页面输出的矛盾!