jby*_*yrd 6 razor blazor blazor-client-side
Razor 页面具有一种机制,您可以在其中引用布局中的命名部分,然后在使用该布局的页面中指定它们。例如,如果您的布局 (_Layout.cshtml) 如下所示:
@using...
...
<!DOCTYPE html>
...
<body>
...
@RenderSection("modals", required: false)
...
Run Code Online (Sandbox Code Playgroud)
然后在您的仪表板页面中,例如,您将拥有:
<div>
...
</div>
...
...
@section modals
{
<div class="modal-container>...</div>
<div class="modal-container>...</div>
}
Run Code Online (Sandbox Code Playgroud)
这会将 的内容注入@section modals...到布局中的位置 where @RenderSection("modals")is 中。
如何在 Blazor 中做到这一点?
use*_*754 10
.NET 8 将添加部分支持(来源):
@using Microsoft.AspNetCore.Components.Sections
...
<div class="top-row px-4">
<SectionOutlet SectionName="TopRowSection" />
</div>
Run Code Online (Sandbox Code Playgroud)
<SectionContent SectionName="TopRowSection">
<button class="btn btn-primary" @onclick="IncrementCount">Click me</button>
</SectionContent>
Run Code Online (Sandbox Code Playgroud)
不幸的是,Blazor 目前不支持此类功能。Blazor 团队和社区一年多来一直在讨论此功能的必要性,但无济于事。在此处阅读有关 Blazor 中的部分的信息。
但是,如果您正在寻找“临时解决方案”,您可以阅读SteveAndeson关于如何将参数值从 Blazor 组件页面传递到其布局的评论。我知道您正在寻找一种方法来呈现 @Body 和 @EndBody,但原则保持不变:您必须创建一个布局组件而不是默认布局
希望这可以帮助...
| 归档时间: |
|
| 查看次数: |
2669 次 |
| 最近记录: |