Моя идея по-прежнему состоит в том, чтобы поместить этот PartialView в скрытый div, а затем использовать метод window.open, чтобы открыть новую вкладку и поместить в нее этот div. Ниже приведен простой тест:
Основной вид
@model User
<div id="partialview" style="display: none">
@{await Html.RenderPartialAsync("MyPartialView", Model);}
</div>
<input type="button" id="btn" value="NewTab" />
@section scripts{
<script>
$("#btn").click(function () {
var newTab = window.open("", "_blank", "", true);
newTab.document.body.innerHTML = $("#partialview").html();
})
</script>
}
Частичный вид
@model User
<h3>User</h3>
<div>
@Html.DisplayNameFor(m => m.Id)
<input asp-for="@Model.Id" />
</div>
<div>
@Html.DisplayNameFor(m => m.UserName)
<input asp-for="@Model.UserName" />
</div>
Результат:
![enter image description here](https://i.stack.imgur.com/C6UNC.gif)