2015-04-23 38 views
0

我有3个不同视图及其各自的控制器和操作方法。点击各个按钮后,我会显示每个视图。在mvc5的另一个视图中显示一个视图作为一个视图

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

回答

0

为什么你不创建它作为局部视图,你可以加载它在选项卡式的div或任何其他股利。这样,您可以在页面上拥有尽可能多的视图。另外,您可以稍后在该页面的某个事件中加载视图。 check this stack.

+0

我从视图(Coverage)中删除了布局,该视图必须作为局部视图加载,并使Controller返回语句从返回视图(“Coverage”,coverageModel)返回ParialView(“Coverage”,coverageModel)主视图的div标签我已经编写了类似于@ {Html.RenderPartial(“Coverage”)}的代码,但它传递的错误类似于传递给字典的模型项目的类型为policyDetails,但此字典需要CoverageModel类型的模型。你能对此做任何帮助 – user2995798

+0

你可以编辑和发布有问题的代码吗? –

0

从您上面描述的内容,并在之一的自由后您所发表的意见,似乎你想有一个标签面板的渲染内外几个局部视图的主页。另外,在改变布局之后,你无法解决这些局部视图的(某些)模型。

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

相关问题