Как передать данные с дочерней страницы на страницу, вызывающую @Body?

Итак, у меня есть MainLayout со строкой заголовка, и я хочу иметь параметр, который позволяет странице устанавливать строку заголовка в соответствии со своими предпочтениями. Таким образом, mainlayout вызывает страницу через @Body, я не понимаю, как передать данные через тело в mainlayout для обновления строки заголовка.

Любая помощь будет принята с благодарностью!

<div class="sidebar">
<NavMenu />
</div>
<div class="main">
<div class="top-row px-4">
    <h3 bind="@TitleValue">@(TitleValue)</h3>
    <a class="ml-md-auto">@ADService.LoggedUser().DisplayName (@*@(ADService.LoggedUser().IsMemberOf())*@Admin)</a>
</div>
<CascadingValue Value="@TitleValue" Name="TitleValue">
    <div class="content px-4">
        @Body
    </div>
</CascadingValue>
</div>

<Footer />

@functions {
    string TitleValue = "Inventory";
}

Поэтому я хочу передать TitleValue вниз, обновить страницу в зависимости от происходящего и обновить строку заголовка новым значением.

Если это не способ сделать это, или я что-то упустил, любая помощь будет отличной:)

1 ответ

Решение

Я думаю, что следующее, не мое, может вам помочь:

Создайте класс, который содержит ваши данные. Зарегистрируйте его как единый сервис. Введите его в макет и на страницу. Вам, вероятно, следует добавить механизм уведомления, чтобы информировать все ваши компоненты о том, что что-то изменилось в вашем классе данных.

Вы можете посмотреть здесь...

Источник и многое другое...

Другие вопросы по тегам