首页 > 解决方案 > ASP.NET Core 页面:部分

问题描述

有没有办法从 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);
}

标签: razorasp.net-corerazor-pages

解决方案


Partial2.2 中引入 helper 方法时,我相信其目的是允许您传入任何模型,但实际实现似乎有问题(或行为与预期不同)。所以你可以回退到调用在 2.1 中工作的部分的方式:

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

推荐阅读