【问题标题】:ASP.NET Core MVC is possible to open a view in a new tab without using the controller?ASP.NET Core MVC 可以在不使用控制器的情况下在新选项卡中打开视图吗?
【发布时间】:2020-05-27 00:55:30
【问题描述】:

例如:我有一个控制器返回的视图,它接收一个对象,在这个视图中,我有一个按钮来打开一个新视图,该视图与调用它的视图具有相同的对象。

如果我在隐藏的 div 中使用 Html.RenderPartial,我可以在按钮单击时使用调用者视图模型打开新视图,而无需使用控制器。

我想要的是改为在隐藏容器中显示新视图,如果有可能单击按钮以在新选项卡上显示视图??

最好的问候

【问题讨论】:

    标签: javascript c# asp.net-mvc asp.net-core razor


    【解决方案1】:

    我的想法还是把这个PartialView放在一个隐藏的div里面,然后用window.open方法打开一个新的tab,把这个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>
    

    结果:

    【讨论】:

      猜你喜欢
      • 2021-12-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-10-08
      相关资源
      最近更新 更多