2010-07-02 44 views
1

目前,该代码在一个普通的浏览器窗口工作正常:如何从模态窗口下载文件?

if (readerObj.Read()) 
    { 
     filename = readerObj["TRANATTACHMENTNAME"].ToString(); 
     fileBytes = (byte[])readerObj["TRANATTACHMENT"]; 

     Response.Clear(); 
     Response.ContentType="application/octet-stream"; 
     Response.AddHeader("Content-Disposition", "attachment; filename=" + filename); 
     Response.BinaryWrite(fileBytes); 
     Response.Flush(); 
     Response.End(); 

     dbConnectorObj.Connection.Close(); 
     dbConnectorObj = null; 

     return true; 

    } 

不幸的是,这个窗口必须是模态(我来修改已经存在的应用程序)。当我以模态方式运行窗口时,没有文件下载对话框。

ASP.NET 2.0

有什么想法?

回答

1

我会改变你这样做的方式,并通过HTTP处理程序将文件作为服务器。然后,您可以链接传递相关数据的句柄url来获取正确的文件或执行身份验证,并且无论如何都会弹出对话框。

+0

谢谢。 ClientScript.RegisterStartupScript(this.GetType(),“scrDownloadFile”,@“window.open('TempFiles /”+ filename +“')”,true);我们创建了这个文件并且使用了这个文件。 而不是响应对象。 – 2010-07-02 19:49:31

+0

@凯尔合资企业,你有没有尝试过在IIS上deplyoing后?它不适用于IIS。它适用于本地ASP.NET开发服务器,而不是在IIS上。 – 2010-11-23 11:31:55