Итак, у меня есть ASP. NET PDF-приложение, которое выполняет слияние, разделение и удаление страниц PDF. Я использую iframe для рендеринга этих страниц PDF.
Я хочу, чтобы каждый раз, когда пользователь объединял документ, новый измененный документ автоматически отображался в iframe.
Ну, проблема в том, что этого не происходит . Всякий раз, когда пользователь создает новый документ PDF от слияния, он не отображается в iframe, а вместо этого пустая белая страница заполняет iframe.
HTML часть iframe
<iframe src="DevContent\CAL_landing_page.pdf#zoom=50" id="outputPDF" runat="server" width="75%" height="600px"></iframe>
.
Ниже показано, как выглядит мое веб-приложение в формате PDF. Если бы я нажал кнопку «Объединить», я бы хотел, чтобы новый объединенный документ, состоящий из A.pdf и B.pdf (mergedDocument1.pdf), автоматически отображался в iframe, но, как вы можете видеть, iframe пуст.
Если я нажму кнопку «Просмотр» рядом с mergedDocument1.pdf, то документ слияния будет правильно отображаться в iframe, но я не хочу, чтобы пользователь вручную нажимал кнопку просмотра все время после просто слияния.
Код, управляющий кодом iframe
КОД ДЛЯ КНОПКИ ПРОСМОТРА
string fileLocation = "Data\\" + row.Cells[0].Text; // holds the PDF document location
switch (e.CommandName)
{
//===========================================================================================
case "View": // user clicked the 'view' button, the file in the row will now be shown to user in the iframe
outputPDF.Attributes["src"] = fileLocation; //
TextBox1.Text = fileLocation;
TextBox6.Text = (string)Session["pdfFileViewNameOnly"];
return;
КОД В ФУНКЦИИ MERGE, КОТОРАЯ НЕ ДЕЛАЕТ T REFRE SH IFRAME
// newMergedFile holds the location of the new merged pdf documents
string newMergedFile;
try
{ // pdf document merges here and returns the string location of where the merge document is
newMergedFile = mergeObj.mergeFiles((pdfFile)Session["mergePDF"], userFolder);
}
catch (Exception ex)
{
return;
};
addAndRefreshGrid(newMergedFile); // adds merged document to the Grid view
// allows user to click "View" or "Download" for the new document
outputPDF.Attributes["src"] = newMergedFile; // show user the new merge document in the iframe, but doesnt work
Когда пользователь сначала загружает файл, нажимая «Выбрать файл», а затем нажимая «Загрузить файл», документ PDF заполняет Gridview и автоматически отображается в iframe. правильно. Приведенный ниже код является его фрагментом.
fileInView = @"Data\" + Session["UserName"].ToString() + "-" + FileUpload1.FileName;
outputPDF.Attributes["src"] = fileInView;
Я знаю, что передаю правильное местоположение файла, потому что просто нажав кнопку «Просмотр», он будет правильно отображаться в iframe. И, как вы можете видеть из моей функции слияния, я использую ту же строковую переменную, чтобы сохранить ее в сетке и попытаться обновить с ее помощью sh iframe.
Спасибо за ваше время.