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

时间:2015-04-23 07:08:10

标签: c# jquery razor model-view-controller

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

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

2 个答案:

答案 0 :(得分:0)

为什么不将其创建为部分视图,您可以在Tabbed div或任何其他div中加载它。这样,您可以在页面上拥有所需的任意数量的视图。您也可以稍后在该页面的某个事件上加载视图。 check this stack.

答案 1 :(得分:0)

根据您上面所描述的以及您在 one和free 帖子下所做的评论,您似乎想要一个主页面,其中包含在内部和外部呈现的多个部分视图标签面板。此外,在更改布局后,您无法解决(某些)部分视图的模型。

如果要传递“coverageModel”到主视图,但所需要的局部视图来自不同控制器的不同型号,应考虑使用类似下面的(这是从自举一个例子,但也可以是适用于您的情况下) :

<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将能够使用不同的模型呈现部分。

相关问题