ASP. NET Core Как открыть PDF в новой вкладке? - PullRequest
1 голос
/ 09 июля 2020

В моем контроллере у меня есть следующее действие для создания PDF-файла

public async Task<IActionResult> ExportMailingLabel(int CustomerID, int ProductID)
        {
            var mailingLabel = await NoticeService.CreateMailingLabel(CustomerID, ProductID);
            return File(mailingLabel.NoticeContents, "application/pdf", "MailingLabel.pdf");
        }

И, на мой взгляд, у меня есть следующая ссылка:

<a asp-action="ExportMailingLabel" asp-controller="Product" asp-area="Product" asp-route-CustomerID="@Model.CustomerID" asp-route-ProductID="@Model.ProductID" class="btn btn-primary"><i class="fa fa-receipt"></i> View Mailing Label</a>

Мне нужна помощь при нажатии на откройте PDF-файл в новой вкладке вместо отображения диалогового окна «Открыть».

Я пробовал target="_blank", но мне кажется, что он открывает новую вкладку, но по-прежнему показывает открытое диалоговое окно

1 Ответ

1 голос
/ 09 июля 2020

Открыть диалоговое окно

Я не совсем понял, что вы подразумеваете под « диалоговое окно », но _target="blank" - это всего лишь простой тег HTML в результате, и я думаю, что он работает во всех браузерах, как и ожидалось.

Но он не открывается, потому что вы одновременно загружаете файл в методе FileContentResult. После этого браузер закроет вкладку. Если вы удалите второй параметр, он будет открыт в новой вкладке.

return File(mailingLabel.NoticeContents, "application/pdf");

, и вам придется снова написать _target="blank" в своем теге <a>.

<a asp-action="ExportMailingLabel" asp-controller="Product" asp-area="Product" asp-route-CustomerID="@Model.CustomerID" asp-route-ProductID="@Model.ProductID" class="btn btn-primary" _target="blank"><i class="fa fa-receipt"></i> View Mailing Label</a>

Класс FileContentResult

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...