2016-12-30 7 views
1

На мой взгляд, сгенерировать ссылку с именем пользователя, номер учетный и дата, которая передается в контроллер:Открыть PDF в новой вкладке из URL из моего MVC контроллер [Изменено]

@Html.ActionLink(AccountGroup.AcctNum + " " + AccountGroup.DocDate.ToShortDateString(), "GetIndividualStatement", "Statements", new { statementDate = @AccountGroup.DocDate.ToShortDateString(), Userid = @ViewBag.UserID, acctNumber = AccountGroup.AcctNum.ToString() }, new { @class = "form-control, col-sm-6, medwidth" , target = "_blank" }) 

У меня есть пытался использовать ссылку AJAX также:

@Ajax.ActionLink(AccountGroup.AcctNum + " " + AccountGroup.DocDate.ToShortDateString(), "GetIndividualStatement", "Statements", new { statementDate = @AccountGroup.DocDate.ToShortDateString(), Userid = @ViewBag.UserID, acctNumber = AccountGroup.AcctNum.ToString() }, new AjaxOptions { HttpMethod ="POST", UpdateTargetId = "detailsDiv" }, new { @class = "form-control, col-sm-6, medwidth" }) 

Тогда мой контроллер принимает, что информация создает зашифрованный URL для PDF (я должен создать это на месте в моем контроллере, поэтому я не могу просто ссылка на моем чтобы пользователь мог щелкнуть (это было бы слишком просто!). Мне нужно открыть URL-адрес, который возвращает PDF. Мне нужно принять это и открыть PDF в новой вкладке (при сохранении открытой вкладки). Вот моя последняя попытка, которая открывается в том же окне, но как я могу открыть ее на новой вкладке?

WebClient client = new WebClient(); 
    Byte[] buffer = client.DownloadData(path); 
    if (buffer != null) 
    { 
     Response.ContentType = "application/pdf"; 
     Response.AddHeader("content-length", buffer.Length.ToString()); 
     Response.BinaryWrite(buffer); 
    } 

Спасибо всем!

+1

Сделать ссылку с целевым атрибутом, например. Open PDF

+0

Можете ли вы показать мне, что в коде? Я не уверен, где бы я это сказал (помните, что должен войти в код контроллера? Код выше открывается на той же странице ... Мне нужно выяснить, как открыть его на новой вкладке –

+1

ok - код в вашем вопросе уже нацелен на _blank, поэтому он должен работать. Единственный способ диагностики - увидеть html, который он генерирует. Доступна ли страница на новом в любом месте? –

ответ

1

Что вы ищете в конечном HTML, который вы производите что-то из ниже форме, где ссылка имеет целевой атрибут установлен в «_blank»,

<a href="the_pdf_link/" target="_blank">Open PDF</a> 

Получить это право, и вы получите поведение, которое вы хотите.

Если проблема связана с кодом на стороне сервера, тогда, когда вы ее решаете, отредактируйте свой вопрос, чтобы включить исправление, чтобы любой, кто заглядывал из будущего, мог видеть обе стороны истории.