在 mvc5 中将一个视图显示为另一个视图中的一部分



我有 3 种不同的视图及其各自的控制器和操作方法。到目前为止,在各自的按钮单击中,我显示了每个视图。

现在,客户端请求是一个新视图,其中包含第一个视图作为页面的一半,其余两个视图作为选项卡式视图。默认情况下,其中一个选项卡式视图必须在页面的下半部分加载,另一个视图仅在相应的选项卡单击上按需加载。注意:每个视图都来自服务调用。请给我一些例子或参考资料。我希望在我的代码中做最小的更改

为什么不将其创建为部分视图,并且可以在选项卡式div 或任何其他div 中加载它。这样,您可以在页面上拥有任意数量的视图。此外,您可以稍后在该页面的某些事件上加载视图。 检查此堆栈。

从您上面描述的内容以及您在 one and free 的帖子下发表的评论来看,您似乎想要一个主页,其中包含在选项卡式面板内外呈现的多个部分视图。此外,稍微更改布局后,您在解析(某些)这些部分视图的模型时遇到问题。

如果要将"coverageModel"传递给主视图,但分部视图需要来自不同控制器的不同模型,则应考虑使用类似以下内容的内容(这是 Bootstrap 的示例,但可能适用于您的情况):

<div class="tab-content">
    <div id="tab1" class="tab-pane active">
            @{ Html.RenderAction("Action", "Controller1");}
     </div>
     <div id="tab2" class="tab-pane">
            @{ Html.RenderAction("Action", "Controller2");}
    </div>
</div>

同样,您的选项卡布局可能与上面的示例完全不同,但重要的是 RenderAction 将能够使用不同的模型呈现部分。

最新更新