Member 7909353 Ответов: 1

Как открыть pdf файл в новой вкладке


У меня есть кнопка LinkButton в gridview.
Я хочу открыть pdf - файл из базы данных в новой вкладке.
В моем коде pdf открывается в том же окне, а не в новой вкладке.

Что я уже пробовал:

<asp:TemplateField HeaderText="View File">
<ItemTemplate>
<asp:LinkButton ID="lbtnViewFile" runat="server"  CommandArgument='<%#System.Web.HttpUtility.HtmlEncode(Eval("AppCode") + "," + Eval("AttachmentCode") + "," + Eval("AttachmentCodeSerialNumber"))%>'                                                                    OnCommand="lbtnViewFile_Click">View</asp:LinkButton>
</ItemTemplate>
</asp:TemplateField>




protected void lbtnViewFile_Click(object sender, CommandEventArgs e)
  {
     LinkButton btn = (LinkButton)sender;
     string[] CommandArgument = btn.CommandArgument.Split(',');
     long lng_AppCode = Convert.ToInt32(CommandArgument[0]);
     int int_attachmentCode = Convert.ToInt32(CommandArgument[1]);
     int int_attachmentCodeSerialNumber = Convert.ToInt32(CommandArgument[2]);
    DownloadFiles(lng_AppCode,
                         int_attachmentCode, int_attachmentCodeSerialNumber);

  }



Private  int DownloadFiles(long lng_AppCode, int int_attachmentCode, int int_attachmentCodeSerialNumber)   
{
	try
        {
        	int intResult = 0;
            ABC obj_ABC = new ABC();
            A obj_A = 
              obj_ABC.DownloadFile(lng_AppCode, 
              int_attachmentCode, int_attachmentCodeSerialNumber);

            if (obj_A != null)
            {
                byte[] bytes = obj_A.AttachmentFile;
                HttpContext.Current.Response.Buffer = true;
                HttpContext.Current.Response.Charset = "";
                HttpContext.Current.Response.Cache.SetCacheability(HttpCacheability.NoCache);
                HttpContext.Current.Response.ContentType = obj_A.ContentType;

                HttpContext.Current.Response.BinaryWrite(bytes);
                if (obj_A.ContentType == "application/pdf")
                {
                    HttpContext.Current.Response.AddHeader("content-disposition", "inline;filename=" + "file_" + Convert.ToString(lng_AppCode) + "_" + Convert.ToString(int_attachmentCode) + "_" + Convert.ToString(int_attachmentCodeSerialNumber) + obj_A.FileExtension);
                  
                   

                  
                }
                else
                    HttpContext.Current.Response.AddHeader("content-disposition", "attachment;filename=" + "file_" + Convert.ToString(lng_AppCode) + "_" + Convert.ToString(int_attachmentCode) + "_" + Convert.ToString(int_attachmentCodeSerialNumber) + obj_A.FileExtension);

                HttpContext.Current.Response.Flush();

                intResult = 1;
            }
            return intResult;
        }
        catch (Exception)
        {
            return 0;
        }

    }

1 Ответов

Рейтинг:
2

OriginalGriff

Google-ваш друг: будьте любезны и часто навещайте его. Он может ответить на вопросы гораздо быстрее, чем разместить их здесь...

Очень быстрый поиск с использованием вашей темы, так как большая часть поискового запроса дала почти миллион просмотров, в том числе здесь и так с кодом: откройте pdf - файл из базы данных в новой вкладке C# - поиск Google[^]

В будущем, пожалуйста, постарайтесь провести хотя бы фундаментальные исследования самостоятельно, а не тратить впустую свое или наше время.