Open PDF doc in new tab without showing download popup.

 Project :PRL glass 

Ticket 102771: [PRL Glass] 3.3. Download Customer Statement report from My Account
Response.SetCookie(new HttpCookie("fileDownload""true") { HttpOnly = false });                       
                      
          Response.Buffer = true;
          Response.ContentType = "application/pdf";
 
          Response.AppendHeader("Content-Disposition""inline; filename=" + reportname + ".pdf");
 
          Response.Cache.SetCacheability(HttpCacheability.NoCache);
          Response.OutputStream.Write(memoryStreamReport0memoryStreamReport.Length);
 
          Response.End();


View\Default\Profile\Index.cshtml

// Ticket 102771: [PRL Glass] 3.3. Download Customer Statement report from My Account
            // Add Button with and set target = "_blank" to open in new window.
            @Sana.LinkButton(textKeyreportName.ToString(),
               url: Url.Action("CustomerStatmentReport""ErpFileDownload"new { customerId = customerId.ToString() }),
               cssClass"btn btn-report"defaultTextreportName.ToString(), htmlAttributesnew { rel = "nofollow", target = "_blank" })
           



public class ExtendedErpFileDownloadController : ErpFileDownloadController
    {
        protected override void RegisterSystemRoutes(SanaRouteCollection routes)
        {
            base.RegisterSystemRoutes(routes);
 
            // Ticket 102771: [PRL Glass] 3.3. Download Customer Statement report from My Account
            routes.MapSystemPageRoute(Name, "CustomerStatmentReport""CustomerStatmentReport""CustomerStatmentReport/files/Customer-Statment-Report.pdf");
        }
 
        // Ticket 102771: [PRL Glass] 3.3. Download Customer Statement report from My Account
        /// <summary>
        /// A GET action to get the customer statment report.
        /// </summary>
        /// <param name="customerId">The customer ID.</param> 
        /// <returns>Returns the order report.</returns>
        [Authorize]
        [HttpGet]
        public virtual ActionResult CustomerStatmentReport(string customerIdint maxTimeoutExceptionSkips = 5int sleepDurationBetweenAttempts = 10000)
        {
            if (customerId.IsEmptyString())
                return HttpNotFound();            
 
            Stream reportStream = null;
            var retryCount = maxTimeoutExceptionSkips;
            while (true)
            {
                try
                {
                    reportStream = ((ExtendedAttachmentApi)ShopApi.Attachments).LoadCustomerStatmentReport(customerId);
                }
                catch (SanaConnectionException ex)
                {
                    if (ex.InnerException == null || !(ex.InnerException is TimeoutException))
                        throw;
                    if (retryCount == 0)
                        throw;
                    Thread.Sleep(sleepDurationBetweenAttempts);
                    retryCount--;
                    continue;
                }
                break;
            }
 
            if (reportStream == null)
                return new HttpNotFoundResult();
            
            //Set report name.
            var reportname = "CustomerStatmentReport_" + customerId;
            
            //Get bytes from stream.
            var memoryStreamReport = ((MemoryStream)reportStream).ToArray();
 
            Response.SetCookie(new HttpCookie("fileDownload""true") { HttpOnly = false });
 
            Response.Buffer = true;
            Response.ContentType = "application/pdf";
            Response.AppendHeader("Content-Disposition""inline; filename=" + reportname + ".pdf");
            Response.Cache.SetCacheability(HttpCacheability.NoCache);
            Response.OutputStream.Write(memoryStreamReport0memoryStreamReport.Length);
            Response.End();
 
            return File(reportStream, System.Net.Mime.MediaTypeNames.Application.Pdf, reportname);            
        }
 
    }