StringWriter sw=new StringWriter(); 
sw.Write(GetString(tbl));
sw.Close(); 
page.Response.Buffer= false; 
page.Response.AddHeader("Content-Disposition", "attachment; filename=" +strFileName + ".csv"); 
page.Response.ContentType = "application/ms-excel";  
page.Response.ContentEncoding = System.Text.Encoding.GetEncoding("GB2312"); 
page.Response.Write(sw);                             
page.Response.End(); 通过上面的代码成功下载文件以后,原来的页面在Javascript里面居然得不到documnet对象了。
如,在下载之前
 alert(document);  能得到一个Object
但下载后,就不可以了,请问大师如何处理???

解决方案 »

  1.   

    你的的“原来的页面”,是下载的页面还是其他?
    如果你的脚本放在与下载页面相同的页面里面,那么,在输出之后,脚本不能使用是正常的,因为页面的标头被改变了,不再是html格式。
      

  2.   

    原来的页面是指下载的页面。
    “如果你的脚本放在与下载页面相同的页面里面,那么,在输出之后,脚本不能使用是正常的,因为页面的标头被改变了,不再是html格式。”
    应该就是这个问题,请问如何处理?
    这个页面是在一个Frame里面,可否通过刷新来重新加载页面来实现???
      

  3.   

    下载前我点击一个table的行,用
     alert(document); 
    能得到Object,或者用
    var tbl = document.getElementById('id');
    能得到tbl对象,并且能得到tbl里面的行等等对象,
    但下载后,var tbl = document.getElementById('id');
    这句代码报错,用alert(document)也报错了,所以我想是整个document对象都得不到了。
    刷新以后又完成正常了。
    不知道如何处理。多谢楼上的回复。
      

  4.   

    /// <summary>
    /// 文件下载
    /// </summary>
    /// <param name="FullFileName"></param>
    private void FileDownload(string FullFileName)
    {
    FileInfo DownloadFile = new FileInfo(FullFileName); 
    Response.Clear();
    Response.ClearHeaders();
    Response.Buffer=false;
    Response.ContentType="application/octet-stream";
    Response.AppendHeader("Content-Disposition","attachment;filename=" +HttpUtility.UrlEncode(DownloadFile.FullName,System.Text.Encoding.UTF8));
    Response.AppendHeader("Content-Length",DownloadFile.Length.ToString());
    Response.WriteFile(DownloadFile.FullName);
    Response.Flush();
    Response.End();
    }
      

  5.   

    下载的代码就是和楼上的差不多。另外“hchxxzx(NET?摸到一点门槛) ”提到的“如果你的脚本放在与下载页面相同的页面里面,那么,在输出之后,脚本不能使用是正常的,因为页面的标头被改变了,不再是html格式。”可能是真正的原因,但就是要在本页面下载,下载完了再做其他的操作,不能跳出另外一个页面来做下载,问题所在。
      

  6.   

    我也遇到过此类问题
    顶!====CSDN 小助手 V2.0 2005年10月16日发布====
    CSDN小助手是一款脱离浏览器也可以访问Csdn论坛的软件
    界面:http://blog.csdn.net/Qqwwee_Com/archive/2005/10/16/504620.aspx
    下载:http://szlawbook.com/csdnv2/csdnv2.rar为神六喝彩,向所有科技工作者致敬!
    拒绝日货。