C# 为什么可以';我不能从同一页下载两个不同的文件吗?

C# 为什么可以';我不能从同一页下载两个不同的文件吗?,c#,asp.net,c#-4.0,webforms,memorystream,C#,Asp.net,C# 4.0,Webforms,Memorystream,我使用这两个函数从一个页面下载两个不同的文件 RenderReport用于下载发送给它的rdlc报告,即LocalReport,download()用于下载pdf文件 现在的问题是,它们中的一个不能同时起作用。如果我下载RDLC报告,则pdf下载不起作用,反之亦然。它引发异常,即浏览器检测到重复的标题等 public void Download() { try { MemoryStream memStream = Export

我使用这两个函数从一个页面下载两个不同的文件

RenderReport用于下载发送给它的rdlc报告,即LocalReport,download()用于下载pdf文件

现在的问题是,它们中的一个不能同时起作用。如果我下载RDLC报告,则pdf下载不起作用,反之亦然。它引发异常,即浏览器检测到重复的标题等

  public void Download() 
    {
        try
        {
            MemoryStream memStream = Export(html); // returns a memory stream object
            byte[] bytesInStream = memStream.ToArray();
            Response.Clear();
            Response.ContentType = "application/pdf";
            Response.Headers.Remove("content-disposition");
            Response.AddHeader("content-disposition", "attachment;    filename=name_you_file.pdf");

            Response.BinaryWrite(bytesInStream);
            Response.End();
            Response.Flush();

        }
        catch (Exception)
        {

            throw;
        }
    }



    private void RenderReport(LocalReport localReport)
    {
        try
        {

            //Give the collection a name (EmployeeCollection) so that we can reference it in our report designer

            var reportType = "PDF";
            string mimeType;
            string encoding;
            string fileNameExtension;


            var deviceInfo =
                string.Format("<DeviceInfo><OutputFormat>{0}</OutputFormat><PageWidth>8.27in</PageWidth><PageHeight>11.69in</PageHeight><MarginTop>0.3in</MarginTop><MarginLeft>0.3in</MarginLeft><MarginRight>0.3in</MarginRight><MarginBottom>0.3in</MarginBottom></DeviceInfo>", reportType);

            Warning[] warnings;
            string[] streams;


            //Render the report
            var renderedBytes = localReport.Render(
                reportType,
                deviceInfo,
                out mimeType,
                out encoding,
                out fileNameExtension,
                out streams,
                out warnings);

            //Clear the response stream and write the bytes to the outputstream
            //Set content-disposition to "attachment" so that user is prompted to take an action
            //on the file (open or save)
            Response.Clear();
            Response.ContentType = mimeType;
            Response.AddHeader("content-disposition", "attachment; filename=Tender." + fileNameExtension);
            Response.BinaryWrite(renderedBytes);
            Response.End();
            Response.Flush();
        }
        catch (Exception ex)
        {

        }
    }
publicsvoid下载()
{
尝试
{
MemoryStream memStream=Export(html);//返回内存流对象
字节[]ByteInstream=memStream.ToArray();
Response.Clear();
Response.ContentType=“application/pdf”;
Response.Headers.Remove(“内容处置”);
AddHeader(“内容处置”、“附件;文件名=name_you_file.pdf”);
响应。二进制写入(字节流内);
Response.End();
Response.Flush();
}
捕获(例外)
{
投掷;
}
}
私有void RenderReport(LocalReport LocalReport)
{
尝试
{
//为集合指定一个名称(EmployeeCollection),以便我们可以在报表设计器中引用它
var reportType=“PDF”;
字符串模拟类型;
字符串编码;
字符串文件名扩展名;
var设备信息=
格式(“{0}8.27in11.69in0.3in0.3in0.3in0.3in0.3in”,reportType);
警告[]警告;
字符串[]流;
//提交报告
var renderedBytes=localReport.Render(
报告类型,
deviceInfo,
输出mimeType,
输出编码,
输出文件名扩展名,
流出的溪流,
发出警告);
//清除响应流并将字节写入outputstream
//将内容处置设置为“附件”,以便提示用户采取操作
//在文件上(打开或保存)
Response.Clear();
Response.ContentType=mimeType;
AddHeader(“内容处置”、“附件;文件名=投标书”+“文件名扩展名”);
BinaryWrite(renderBytes);
Response.End();
Response.Flush();
}
捕获(例外情况除外)
{
}
}

那么清楚“检测到重复的标题”不是吗?@Aristos解决方案是什么?我尽了我所能你什么意思不起作用?任何错误或控制都不会出现在该方法中??