布局组件中的访问方法

时间:2020-06-23 07:29:20

标签: c# asp.net .net-core blazor

我有一个在布局中包含3个参数的方法。如何在使用布局的页面的加载事件中调用函数。

@inherits LayoutComponentBase
<div class="sidebar">
    <NavMenu />
</div>
<div class="main">
    <div class="top-row px-4">
        <a href="https://docs.microsoft.com/aspnet/" target="_blank">About</a>
    </div>

    <div class="content px-4">
        @Body
    </div>
</div>
@code {

    private string x;
    public void Test (string a , string b, string c)
    {
        x = a + b + c;
    }
}

1 个答案:

答案 0 :(得分:0)

<CascadingValue Value="this" Name="MainLayout">
    @Body
</ CascadingValue>

然后在您的组件中

@code {
    [CascadingParameter(Name = "MainLayout")]
    public MainLayout MainLayout { get; set; }

    void Test (string a , string b, string c) => MainLayout.Test(a, b, c);
}

这里有一个示例component,其中我正在做类似的事情。