本人在项目中遇到问题:打开一个新网页通过数据流的方式下载文件,希望保存后能关闭网页,求高手帮忙,不胜感激!!!

解决方案 »

  1.   

    判断是否下载完成 = 完成  ? window.close():;
      

  2.   

    能不能说具体点,
    我给出代码:
    客户端:
    点击按钮事件调用的函数
     function DownLoadReport()
          {
               var ErrMsg = document.getElementById('HidExisDB').value; 
               if(ErrMsg == "")
               {
                var dateReceivedFrom = PickerFrom.getSelectedDate().toDateString(); 
                var dateReceivedTo = PickerTo.getSelectedDate().toDateString();            
                var StrStage = document.getElementById('ddlStage').value;
                var StrStatus = document.getElementById('ddlStatus').value;
                var StrBatchKey= document.getElementById('txtBatchKey').value; 
             
                var url = "FrmBatchReport.aspx";
                url += "?Sdate=" + dateReceivedFrom ;
                url += "&Edate=" + dateReceivedTo;
                url += "&Stage=" + StrStage;
                url += "&Status=" + StrStatus;
                url += "&Key=" + StrBatchKey;
                url += "&IsDown=yes" 
             
                var sFeatures="width=500,height=400,toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=no,resizable=no,copyhistory=yes";
            sFeatures+=",left="+(screen.availWidth-12-500)/2;
            sFeatures+=",top="+(screen.availHeight-400)/2;
    //         alert(url);
    //         alert(sFeatures);
            msg=window.open(url,"NewWindow",sFeatures); 
    //            window.location.href = url;
         }
             else
             {
              alert(ErrMsg);
             }       
             
             return false;            
          }  服务端代码:
                      StartTime = DateTime.Parse(Request.QueryString[0]);
                    EndTime = DateTime.Parse(Request.QueryString[1]).AddDays(1).AddSeconds(-1);
                    string StageID = Request.QueryString[2].Replace("'", "''");
                    string StatusID = Request.QueryString[3].Replace("'", "''");
                    string BatchKey = Request.QueryString[4].Trim().Replace("'", "''");
                    string IsDown = Request.QueryString[5].Replace("'", "''");
                    string CustomerCode = Session["UserGlobalCustomerCode"].ToString();                Model.BatchModel batchModel = new BatchModel();
                    batchModel.DownLoadTimefrom = StartTime.ToString();
                    batchModel.DownLoadTimeTo = EndTime.ToString();
                    batchModel.CustomerCode = CustomerCode;
                    batchModel.BatchKey = BatchKey;
                    batchModel.StageID = StageID;
                    batchModel.StatusID = StatusID;                DataSet ds = GetReportData(batchModel);
                    if (ds != null)
                    { 
                        string rtnMsg = "";
                        BLL.EOBBLL m_EOBBLL = new BLL.EOBBLL();
                        m_EOBBLL.WriteExportLog(ref rtnMsg);                    CreateReport(ds, IsDown);--这是下载代码
                       
                    }