diff --git a/framework/src/Volo.Abp.BlazoriseUI/AbpCrudPageBase.cs b/framework/src/Volo.Abp.BlazoriseUI/AbpCrudPageBase.cs index 76f7caf377..315cc42a73 100644 --- a/framework/src/Volo.Abp.BlazoriseUI/AbpCrudPageBase.cs +++ b/framework/src/Volo.Abp.BlazoriseUI/AbpCrudPageBase.cs @@ -178,6 +178,7 @@ namespace Volo.Abp.BlazoriseUI protected int CurrentPage; protected string CurrentSorting; protected int? TotalCount; + protected TGetListInput GetListInput = new TGetListInput(); protected IReadOnlyList Entities = Array.Empty(); protected TCreateViewModel NewEntity; protected TKey EditingEntityId; @@ -264,8 +265,8 @@ namespace Volo.Abp.BlazoriseUI protected virtual async Task GetEntitiesAsync() { - var input = await CreateGetListInputAsync(); - var result = await AppService.GetListAsync(input); + await UpdateGetListInputAsync(); + var result = await AppService.GetListAsync(GetListInput); Entities = MapToListViewModel(result.Items); TotalCount = (int?)result.TotalCount; } @@ -280,26 +281,24 @@ namespace Volo.Abp.BlazoriseUI return ObjectMapper.Map, List>(dtos); } - protected virtual Task CreateGetListInputAsync() + protected virtual Task UpdateGetListInputAsync() { - var input = new TGetListInput(); - - if (input is ISortedResultRequest sortedResultRequestInput) + if (GetListInput is ISortedResultRequest sortedResultRequestInput) { sortedResultRequestInput.Sorting = CurrentSorting; } - if (input is IPagedResultRequest pagedResultRequestInput) + if (GetListInput is IPagedResultRequest pagedResultRequestInput) { pagedResultRequestInput.SkipCount = CurrentPage * PageSize; } - if (input is ILimitedResultRequest limitedResultRequestInput) + if (GetListInput is ILimitedResultRequest limitedResultRequestInput) { limitedResultRequestInput.MaxResultCount = PageSize; } - - return Task.FromResult(input); + + return Task.CompletedTask; } protected virtual async Task OnDataGridReadAsync(DataGridReadDataEventArgs e)