Основные страницы ASP.NET: Частичные - PullRequest
2 голосов
/ 07 марта 2019

Есть ли способ перерисовать частичку из 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 Ответ

2 голосов
/ 07 марта 2019

Когда в 2.2 был введен вспомогательный метод Partial, я полагаю, что цель состояла в том, чтобы позволить вам перейти на любую модель, но фактическая реализация кажется ошибочной (или ведет себя не так, как ожидалось). Таким образом, вы можете вернуться к способу вызова партиалов, который работает в 2.1:

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