none
用Response.Write("")导出word时网页自动关闭 RRS feed

  • 问题

  • 我用Response.Write("")来导出word,方法是当前页面用post提交给一个页面page2,在page2的Page_Load事件里输出,直接用在ie7、8、9都没问题。但当把这个页面嵌入到框架后,在IE7和IE9中正常,可以正常导出word;
    但在IE8中就不行,弹出页面page2后马上自动关闭,也没有提示打开和下载,直接关了,如果这时候在浏览器中在输入page2的地址就可以下载,不知道IE8为什么会自动关闭。page2的导出代码如下:
    protected void Page_Load(object sender, EventArgs e)
      {
      int upFileLength = Request.ContentLength;
      byte[] FileArray = new Byte[upFileLength];
      string name = "test";
      System.IO.Stream fileStream = Request.InputStream;
      fileStream.Read(FileArray, 0, upFileLength);
      string test = System.Text.Encoding.UTF8.GetString(FileArray);
      Response.ContentEncoding = System.Text.Encoding.GetEncoding("UTF-8");
    
      Response.Buffer = true;
      Response.Clear();
      Response.ContentType = "application/ms-word";
      Response.AddHeader("Content-Disposition", "attachment;filename=" + HttpUtility.UrlEncode(name).Replace("+", " ") + ".doc");
      Response.Write(test);
      Response.Flush();
      Response.End();  
      }
    2011年12月16日 8:47

全部回复