Я разбил это на два отдельных действия на Home Controller, используя действие FinalPage как представление, на которое вы перенаправлены, и действие GetFile как возвращающее сам файл.
Контроллер
public ActionResult GetFile()
{
return File(@"path to pdf.pdf", "application/pdf");
}
public ActionResult FinalPage()
{
return View();
}
Просмотр
<script>
function showfile() {
window.open('<%= Url.Action("GetFile", "Home")%>')
}
</script>
<%= Html.ActionLink("click", "FinalPage", "Home", null, new { onclick = "return showfile();" }) %>
Это откроет новое окно и вернет файл для отображения, но также переместит другойОкно браузера на последней странице по тому же клику.
Надеюсь, это поможет.
Редактировать
Обновлен для запуска кнопки отправки в соответствии с комментарием... в ответ на комментарий, да, вы можете сделать это с помощью кнопки отправки: -)
<script>
function showfile() {
window.open('<%= Url.Action("GetFile", "Home")%>')
}
</script>
<% using(Html.BeginForm("FinalPage", "Home")) { %>
<input type="Submit" value="click" onclick="return showfile();" />
<% } %>
Надеюсь, это поможет: -)