Состояние Blazor Persist не работает между рендерингамиC#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 Состояние Blazor Persist не работает между рендерингами

Сообщение Anonymous »

У меня есть следующий код, чтобы избежать двойного рендеринга на моей странице Blazor:

Код: Выделить всё

@inject IRecordServices RecordServices
@inject DialogService DialogService
@inject IJSRuntime js
@inject Radzen.NotificationService NotificationService
@inject PersistentComponentState ApplicationState

@rendermode InteractiveServer

..............DataGrid populated with records...............

IEnumerable? records;
RadzenDataGrid grid = new RadzenDataGrid();
PersistingComponentStateSubscription rendering;

protected override async Task OnInitializedAsync()
{
rendering = ApplicationState.RegisterOnPersisting(PersistState);
var foundInState = ApplicationState.TryTakeFromJson("records", out var records);
records = foundInState ? records : await GetAllRecordsForGrid();
}

private async Task GetAllRecordsForGrid()
{
return await RecordServices.GetRecordEntities();
}

private Task PersistState()
{
ApplicationState.PersistAsJson("records", records);
return Task.CompletedTask;
}
У меня также есть следующее в Program.cs и MainLayout.razor соответственно:

Код: Выделить всё

builder.Services.AddMemoryCache();
Когда компонент загружается и выполняет GetAllRecordsForGrid(); в OnIntitializedAsysc() в первый раз, записи заполняются:

Изображение

Однако, когда я добираюсь до PersistState(), записи всегда имеют значение null:
[img]https://i.sstatic.net /51fZSaHO.png[/img]

Что я делаю не так?

Подробнее здесь: https://stackoverflow.com/questions/791 ... en-renders
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «C#»