我正在学习在MVC中使用部分视图。如果我在Partial View中只有一些简单的文本,它可以工作,但是当我尝试使用模型中的数据时,我遇到了一些问题!我想我错过了一点,需要一些指导。
我正在尝试在HomeController索引文件中使用部分视图。
索引文件中的代码:
<div class="row">
<div class="col-md-3" id="listOfNames">
@Html.Partial("ListPersonLayoutPartialView")
</div>
</div>
部分视图:
@model IEnumerable<TestAjaxAutoSuggest.Models.Person>
@foreach (var item in Model) {
<div class="personBlock">@item.Name</div>
}
<p>Test</p>
最后是家庭控制器中的动作方法:
[HttpGet]
public ActionResult ListPersonLayout()
{
return PartialView("ListPersonLayoutPartialView", db.People.ToList());
}
我想有些东西丢失了,比如Controller中的数据如何连接到Partial View!?
答案 0 :(得分:4)
您需要在此使用Html.Action
,而不是Html.Partial
,如果您想渲染部分视图Html.Partial
,那么您必须从主视图中传递Model
不传递,因此模型为null
,另外Html.Partial
不会调用操作,因为调用您使用Html.Action
的操作会返回呈现部分视图:
@Html.Action("ListPersonLayout")
您需要了解这两者的区别,因为您可以看到this post
答案 1 :(得分:0)
您应该按如下方式致电<sc.include file="/App_Config/custom.manticore.config" />
而不是ListPersonLayout
:
ListPersonLayoutPartialView