Blazor 中的 @RenderSection 等价物?
@RenderSection Equivalent in Blazor?
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 中完成此操作?
遗憾的是,Blazor 目前不支持此类功能。一年多来,Blazor 团队和社区一直在讨论此功能的必要性,但无济于事。 Read here about Sections in Blazor.
但是,如果您正在寻找 'temporary solution',您可以阅读 SteveAndeson 关于如何将参数值从 Blazor 组件页面传递到其布局的评论。我知道您正在寻找一种方法来呈现@Body 和@EndBody,但原则保持不变:您必须创建一个布局组件而不是默认布局
希望这对您有所帮助...
我创建了一个组件来获得类似于部分的内容:
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 中完成此操作?
遗憾的是,Blazor 目前不支持此类功能。一年多来,Blazor 团队和社区一直在讨论此功能的必要性,但无济于事。 Read here about Sections in Blazor.
但是,如果您正在寻找 'temporary solution',您可以阅读 SteveAndeson 关于如何将参数值从 Blazor 组件页面传递到其布局的评论。我知道您正在寻找一种方法来呈现@Body 和@EndBody,但原则保持不变:您必须创建一个布局组件而不是默认布局
希望这对您有所帮助...
我创建了一个组件来获得类似于部分的内容: