7

Razor 页面具有一种机制,您可以在其中引用布局中的命名部分,然后在使用该布局的页面中指定它们。例如,如果您的布局 (_Layout.cshtml) 如下所示:

@using...
...
<!DOCTYPE html>
...
<body>
...
@RenderSection("modals", required: false)
...

然后在您的仪表板页面中,例如,您将拥有:

<div>
...
</div>
...
...
@section modals
{
    <div class="modal-container>...</div>
    <div class="modal-container>...</div>
}

这会将 的内容注入@section modals...布局中的位置@RenderSection("modals")

这如何在 Blazor 中完成?

4

2 回答 2

9

不幸的是,Blazor 目前不支持此类功能。一年多来,Blazor 团队和社区一直在讨论此功能的必要性,但无济于事。在此处阅读有关 Blazor 中的部分的信息。

但是,如果您正在寻找“临时解决方案”,您可以阅读SteveAndeson关于如何将参数值从 Blazor 组件页面传递到其布局的评论。我知道您正在寻找一种渲染@Body 加@EndBody 的方法,但原理保持不变:您必须创建一个布局组件而不是默认布局

希望这可以帮助...

于 2019-09-12T21:14:09.850 回答
1

我创建了一个组件来获得类似于部分的内容:

https://github.com/inspgadget/BlazorSections

于 2019-12-10T15:44:37.030 回答