Когда пользователь нажимает на ссылку, он открывает новое окно (так как target = "_ blank") вызывает страницу xyz.ASPX, которая динамически создает счет в формате PDF, сохраняя его в базе данных (а не в физическом месте) и тогда мне нужно иметь возможность открыть файл PDF на странице ASPX.
Сейчас происходит то, что aspx, который генерирует файл PDF, вызывается, он делает свое дело, но затем открывает Acrobat для отображения счета в формате PDF. Однако страница xyz.aspx пуста и ничего не отображает. Мне это не нравится, и я хотел бы, чтобы xyz.aspx отображал файл PDF.
Из моего исследования кажется, что если вы хотите отобразить PDF на странице ASPX, вам нужен iFrame или пользовательский элемент управления. Однако, поскольку PDF создается динамически и не сохраняется на диске, как мне установить источник для iFrame. Есть ли способ установить src в качестве объекта ответа или другого объекта в памяти?
Есть ли простой способ сделать это? Я не хочу использовать пользовательский элемент управления. Я использую .NET 3.5 и C # с мастер-страницами и темами CSS, но я отключил его для этой страницы.
Источник xyz.aspx:
`<% @ Page language =" c # "EnableTheming =" false "<br>
ContentType = "application / pdf" Codebehind = "xyz.aspx.cs" AutoEventWireup = "True" Inherits = "namespace1.xyz"%>
«
xyz.aspx.cs (получает файл PDF из БД и затем записывает в объект Response)
protected void Page_Load(object sender, EventArgs e)
{
byte[] pdfBinaryFile = GetPDFFileFromDB(PDFId);
if(pdfBinaryFile != null)
Response.BinaryWrite(pdfBinaryFile);
}