Как передать объект из макета на страницу в Blazor .Net 8C#

Место общения программистов C#
Ответить
Anonymous
 Как передать объект из макета на страницу в Blazor .Net 8

Сообщение Anonymous »

У меня есть веб-приложение Blazor .Net 8 с постраничным рендерингом. Моя страница макета находится в серверном приложении и представляет собой простой SSR без интерактивности.
У меня есть служба с ограниченной областью действия, в которой я устанавливаю свойства из метода OnInitializedAsync в макете. Моя страница находится в клиентском приложении и имеет InteractiveAuto с предварительным рендерингом = false. На клиентской странице для службы с ограниченной областью действия не установлены какие-либо свойства.
В серверном приложении .Net 6 или 7 значения можно получить со страницы, и они работают отлично. Судя по всему, сервисы с ограниченной областью действия не хранят значения в разных режимах рендеринга. Я не могу использовать Singleton, поскольку эти значения зависят от пользователя.
Я пробовал CascadingValues, но они также не могут выполнять перекрестные режимы рендеринга. Я также попробовал статические свойства, которые тоже не сработали. Я не могу использовать localstorage, поскольку localstorage нельзя использовать в OnInitializedAsync. Я не хочу использовать OnAfterRenderAsync, поскольку эти значения необходимы на каждой странице, и я никогда не смогу использовать OnInitializedAsync на страницах.
Кто-нибудь знает способ передачи данных? Не могу себе представить, что я единственный, кому это нужно.

Подробнее здесь: https://stackoverflow.com/questions/784 ... azor-net-8
Ответить

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

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

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

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

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