gpt4 book ai didi

layout - Blazor .NET Core 3.0 - cshtml 页面可以使用 MainLayout.razor

转载 作者:行者123 更新时间:2023-12-02 03:23:16 30 4
gpt4 key购买 nike

在 Blazor 的早期版本中,所有文件都是 cshtml 页面,并且能够使用类似于 MVC 项目的 _layout - 一切都很好。

但现在在新的 .NET Core 3.0 版本中,Blazor 模板已切换为 *.razor 文件,这些文件是 razor 组件(不是 razor 页面)。布局现在是 Shared/MainLayout.razor 并通过 App.razor 文件中的路由应用:

<RouteView RouteData="@routeData" DefaultLayout="@typeof(MainLayout)" />

所以这会造成困惑。我们仍然可以将 razor 页面(.cshtml 文件)添加到项目中,但它们不会应用布局。创建和维护 2 个独立的相同布局(1 个用于 razor 页面,1 个用于 razor 组件)将是一件痛苦的事情。我找不到任何相关指导。

有没有办法将 razor 组件布局 (Shared/MainLayout.razor) 应用于同一项目内的 razor 页面(.cshtml 文件)?如果没有,推荐的方法是什么?

最佳答案

简单的回答是否定的。目前,您可以将 Razor 组件加载到 Razor 页面中,但无法在 Razor 组件中加载 Razor 页面。 official docs 中对此进行了说明。 .

我不确定是否有这样的推荐方法 - 如果您的目标是在任何地方使用组件,那么除了尽可能尝试和重构 Razor 组件之外。

如果您想保持混合,那么我建议坚持使用 Razor Pages 作为页面(希望这是有意义的)并且仅使用这些页面中的组件。这样您只需要一种布局类型。

关于layout - Blazor .NET Core 3.0 - cshtml 页面可以使用 MainLayout.razor,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58092472/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com