在ASP.NET中没有弹出窗口下载文件

时间:2009-06-12 10:52:31

标签: asp.net popup download

我正在使用代码

下载文件
btnDownloadTemplate.Attributes.Add( "onClick", "window.open('StudyReport/WordReportTemplate.doc', 'OpenTemplate', 'resizable=no,scrollbars=no,toolbar=no,directories=no,status=no,menubar=no,copyhistory=no');return false;" );

这将显示一个弹出窗口,并显示下载对话框。如何避免弹出窗口,屏幕上只显示下载对话框?

5 个答案:

答案 0 :(得分:3)

我得到了答案。 我删除了属性并在其中添加了click事件。

    string path = Server.MapPath("");
    path = path + @"\StudyReport\WordReportTemplate.doc";
    string name = Path.GetFileName( path );
    Response.AppendHeader( "content-disposition", "attachment; filename=" + name );
    Response.ContentType = "Application/msword";
    Response.WriteFile( path );
    Response.End(); 

答案 1 :(得分:2)

不要做Window.Open,只需将页面的URL更改为文档。

答案 2 :(得分:2)

常见的诀窍是在<iframe>中打开链接。这不需要JavaScript,也不会打开弹出窗口或空白标签。 <iframe>可能非常小,因此几乎看不见。

<iframe name="DownloadDummy">
</iframe>

链接:

<a href="http://example.com/file.csv" target="DownloadDummy">Download File</a>

答案 3 :(得分:1)

此外,您可以使用window.location而不是window.open。

var file ='StudyReport / WordReportTemplate.doc'; window.location = file;

答案 4 :(得分:0)

您是否查看了HttpResponse.WriteFile方法?