如何将数据从子页面传递到调用@Body的页面?

问题描述 投票:1回答:1

所以我有一个带有标题栏的MainLayout,我希望有一个参数允许页面将标题栏设置为它想要的任何内容。所以mainlayout通过@Body调用页面,我很困惑如何将数据通过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,让页面根据发生的情况更新它,并使用新值更新标题栏。

如果这不是这样做的方式,或者我错过了什么,任何帮助都会很棒:)

asp.net razor blazor blazor-server-side
1个回答
0
投票

我想以下,不是我的,可以帮助你:

创建一个保存数据的类。将其注册为单件服务。将其注入布局和页面。您应该添加一个通知机制,以通知所有组件数据类中的某些内容已更改。

You can look here...

Source and more...

© www.soinside.com 2019 - 2024. All rights reserved.