部分视图为空

时间:2016-03-10 13:49:05

标签: asp.net-mvc

我正在学习在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!?

2 个答案:

答案 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