>>其他页面无响应??is the browser dead?HOW TO: Export Data in a DataGrid on an ASP . NET WebForm to Microsoft Excel
http://support.microsoft.com/default.aspx?scid=kb;en-us;317719

解决方案 »

  1.   

    思归你好!这个文章我看过了,我用的是第一种方法,平时的页面是没有问题的,但是当你用了框架的时候(frame),比如左边是个导航条,右边是功能的实现(导出),当右边导出后,左边的导航就没有作用了.请高手关注,在线等......
      

  2.   

    那可能是因为你用了Respons.End()函数 , 它引发了Application_EndRequest事件.所以对请求不再响应了
      

  3.   

    我去掉了用了Response.flush()也不行啊.应该怎么写?
      

  4.   

    那就加条语句,重新加载frame左边的页面,例如:Response.Write("<script language='javascript'>parent.document.all.contents.src='Menu.aspx?'</script>");
    其中contents是你左边frame的name,menu.aspx是放在frame里的页面
      

  5.   

    程序如下:
    Response.AddHeader("Content-Disposition",
    "attachment;filename=export.xls"); 
    Response.ContentType="application/vnd.ms-excel";
    Response.Charset ="utf-8";
    this.EnableViewState =false;
    System.IO.StringWriter tw=new
    System.IO.StringWriter();
    System.Web.UI.HtmlTextWriter hw=new
    System.Web.UI.HtmlTextWriter(tw);
    DataGrid1.RenderControl(hw);
    Response.Write(tw.ToString());
    Response.End();
    其中datagrid1中随便绑定点数据就可以,希望有兴趣的高手试试,如能解决,万分感谢!
      

  6.   

    rabbitwy(流浪小兔),您好!后面写什么response.write()都没有反应了
      

  7.   

    呵呵奇怪了, 在你的所有Response前加上HttpContext.Current试试呢?下面是我的代码,跟你几乎没区别:)private void ToExcel(System.Web.UI.Control ctl)  
    {
    HttpContext.Current.Response.AppendHeader("Content-Disposition","attachment;filename=Excel.xls");
    HttpContext.Current.Response.Charset ="UTF-8";
    HttpContext.Current.Response.ContentEncoding =System.Text.Encoding.Default;
    HttpContext.Current.Response.ContentType ="application/ms-excel";//image/JPEG;text/HTML;image/GIF;vnd.ms-excel/msword
    ctl.Page.EnableViewState =false;
    System.IO.StringWriter  tw = new System.IO.StringWriter() ;
    System.Web.UI.HtmlTextWriter hw = new System.Web.UI.HtmlTextWriter (tw);
    ctl.RenderControl(hw);
    HttpContext.Current.Response.Write(tw.ToString());
    HttpContext.Current.Response.End();
    }
      

  8.   

    回复人: haihong() ( ) 信誉:100  2003-07-24 10:13:00  得分:0 
     
     
      rabbitwy(流浪小兔),您好!后面写什么response.write()都没有反应了
      
     
    ---------------------------------------------------------------
    那就把那句话放到Response.Flush()前面,不过我也没试过,我以前好像没这问题,产生EXCEL文件后昨天的菜单依然有效,代码在上面
      

  9.   

    rabbitwy(流浪小兔),你好!你的代码我试了,可是还是不行啊?为什么你的可以?奇怪了,我的左边是个menu.htm而已..请大家帮忙看看
      

  10.   

    哦 , 是点按钮或者连接都有效啊 , 嗨 , 我还以为是无效呢 , 那是肯定的了 用了response.end()后 剩下的代码就是不执行的
      

  11.   

    this.response.write(<script>window:Fresh</script>);用javascript写,大概是这样,我记不太清楚了 :)
      

  12.   

    小兔,你的是好的?把完整的代码贴一份给我,好吗?包括frame代码,谢谢了!
      

  13.   

    http://xml.sz.luohuedu.net/xml/ShowDetail.asp?id=EC5E84EC-68F9-4CD7-9E11-6F5C92027F0B
      

  14.   

    http://xml.sz.luohuedu.net/xml/ShowDetail.asp?id=EC5E84EC-68F9-4CD7-9E11-6F5C92027F0B
      

  15.   

    孟子,你的程序和我的一样,没有什么本质区别,你的程序是没有frame的,所以没有问题,我的有了frame就会出问题了,请再帮忙看看.