如何在ASP.NET MVC中使用局部视图模型

时间:2014-09-15 10:11:54

标签: c# asp.net asp.net-mvc asp.net-mvc-4 partial-views

我有一个名为DaftarController的控制器,它调用Index视图并用mode.l

填充它

DaftarController:

    public ActionResult Index()
    {
        List<EventRecord> li = ws.GetEvents().ToList();
        var ura = li;
        return View(ura);
    }

它显示完美,但我希望在我的索引视图中部分查看。

@Html.Partial("~/Views/Daftar/_Deleted.cshtml");

所以我在我的DaftarController中添加它:

    public ActionResult _Deleted()
    {
        List<DeletedRecord> li = ws.GetDeleteds().ToList();
        var ura = li;
        return View(ura);
    }

但它给出了错误。我还在混淆如何用模型显示部分视图?

2 个答案:

答案 0 :(得分:3)

如果你想调用一个动作,即使该动作将返回一个局部视图,你应该使用。

@Html.Action("_Deleted", "Daftar") // Assume _Deleted is inside DaftarController

这将调用操作然后返回视图,并且在_Deleted操作中,您需要使用PartialView方法返回它,否则将包含布局作为结果。

public ActionResult _Deleted()
{
    List<DeletedRecord> li = ws.GetDeleteds().ToList();
    var ura = li;
    return PartialView(ura); // Not View(ura)
}

如果直接调用@Html.PartialView,则意味着您无需执行操作即可直接呈现视图。

答案 1 :(得分:2)

在定义要在剃刀视图中使用的局部视图时,不要使用文件扩展名定义路径。

所以对于你的部分,它将是:

@Html.Partial("~/Views/Daftar/_Deleted");