ASP.NET Core页面:局部

时间:2019-03-07 07:18:39

标签: razor asp.net-core razor-pages

是否有一种方法可以从PageModel中重新渲染部分内容?

@foreach (var group in Model.Groups)
{
    <partial name="_OverviewAction" model="@group" />
}

以下功能应将部分替换为新的。

但是这不起作用,因为Partial()仅接受与PageModel相同类型的模型。

public IActionResult OnPostDeleteGroup(string id)
{
    var group = GroupService.GetGroup(id);

    /*... some code ...*/

    return Partial("_OverviewAction", group);
}

1 个答案:

答案 0 :(得分:2)

在2.2中引入Partial辅助方法时,我相信目的是允许您传递任何模型,但是实际的实现似乎有问题(或行为与预期不同)。因此,您可以使用在2.1中可以使用的部分调用方式:

return new PartialViewResult {
        ViewName = "_OverviewAction",
        ViewData = new ViewDataDictionary<data type for the group variable goes here>(ViewData, group)
    };