我刚刚从PHP CI(MVC)切换到ASP.NET MVC4,我也是.net框架的新手。我研究了在MVC4中加载多个视图,但我总是发现加载视图有多个模型等.... 我想要做的是在一个页面中加载多个视图。
例如:
我有一个视图left.cshtml
<div>Hello im on the left section</div>
@RenderBody();
并有下一个视图main.cshtml
<div class="left"> // should come in the left section of the page
@{Layout = "left.cshtml"}
</div>
<div class="right">
Contents at the right and many more here
</div>
从上面我的预期是:
// Left section Right section
Hello im on the left section | Contents at the right
| and many more here
|
|
|
|
但结果是
Hello im on the left section
Contests at the right and many more here
和CSS也很好。 请帮帮....
答案 0 :(得分:1)
我认为您正在寻找部分视图。所以使用
@Html.Partial("ViewName")
@{ Html.RenderPartial("ViewName"); }
答案 1 :(得分:0)
Layout
是您的主页,它通过RenderBody
呈现的“周围”。因此,如果您希望右侧部分始终相同,并将不同的视图替换为左侧部分,则可以创建包含页面“结构”的布局,然后将不同的视图呈现在其中。
你的代码应该是:
layout.chtml:
<div class="left"> // should come in the left section of the page
//Your left.chtml will be substituted here
@RenderBody();
</div>
<div class="right">
Contents at the right, they are always the same
</div>
left.chtml
//This line shows which layout you are going to use
@{Layout = "left.cshtml"}
//Whole code below is substitued in plase of "RenderBody" of your layout page
Contents at the left.
P.S你必须返回左视图,而不是你的控制器中的laout视图。