C# ASP.NET-下载文件&;在浏览器上显示

C# ASP.NET-下载文件&;在浏览器上显示,c#,asp.net,webpage,C#,Asp.net,Webpage,我的任务非常简单,单击按钮时,我想在浏览器上显示生成的PDF,但同时在客户端计算机上下载它 我做了两个功能,一个用于下载,另一个用于在浏览器上显示。当我单独运行它们时,它们就像一个符咒一样工作,但当我在按钮上将它们集合在一起时,只单击称为“第一个”的按钮,而另一个按钮则不起任何作用 下面是下载该文件的代码 _page.Response.Clear(); _page.Response.AddHeader("Content-Disposition", "attachment;

我的任务非常简单,单击按钮时,我想在浏览器上显示生成的PDF,但同时在客户端计算机上下载它

我做了两个功能,一个用于下载,另一个用于在浏览器上显示。当我单独运行它们时,它们就像一个符咒一样工作,但当我在按钮上将它们集合在一起时,只单击称为“第一个”的按钮,而另一个按钮则不起任何作用

下面是下载该文件的代码

_page.Response.Clear();
            _page.Response.AddHeader("Content-Disposition", "attachment; filename=payments.xls");
            //Download the file and prompt the user to save
            _page.Response.BinaryWrite(data);
            _page.Response.End();
下面是要在浏览器上显示的代码

 _page.Response.Clear();
            _page.Response.ContentType = "application/pdf";
            _page.Response.OutputStream.Write(_datastrem.GetBuffer(), 0, _datastrem.GetBuffer().Length);
            _page.Response.Flush();

**我还应该提到,我想在回发时完成所有这些操作。

您并没有完全显示代码,但从您描述的内容来看,这是行不通的:每个HTTP响应只能执行一个操作。您可以推送文件以供下载(
内容处置
或在浏览器中显示文件


如果您想同时执行这两项操作,则必须使用显示文件的中间页面,然后(例如使用JavaScript)执行文件下载。

您没有完全显示您的代码,但根据您的描述,我可以说这不起作用:每个HTTP响应只能执行一个操作。您可以推送文件以供下载(
内容处置
或在浏览器中显示文件


如果要同时执行这两项操作,则必须使用一个显示文件的中间页面,然后(例如使用JavaScript)执行文件下载。

如何准确地调用这些页面?您是否尝试过在浏览器中显示内容并使用iframe向您的客户提供一个文件?很抱歉,我已经用代码更新了问题。您如何确切地称之为这些?您是否尝试过在浏览器中显示内容并使用iframe向您的客户端提供文件?很抱歉,我已经用代码更新了问题。您能否告诉我如何通过javascript下载文件,因为brower将显示pdf,所以我如何调用下载功能。在iframe中的HTML文档中显示pdf,例如,我不想打开任何弹出窗口或任何我想在同一页上显示pdf的内容。你能告诉我如何通过javascript下载文件吗,因为brower将显示pdf,所以我如何调用下载函数。在iframe中的HTML文档中显示pdf,例如,我不想打开任何弹出窗口或任何我想在同一页上显示pdf的内容。