Blazor - 倍数区域 - 自定义 _Hostm.cshtml

Clu*_*ang 1 area asp.net-core blazor

我有一个 blazor 应用程序,其中包含以下领域:

  • 页面
    • _Host.cshtml
    • index.razor
  • 区域
    • 产品
    • 页面
      • _HostAdmin.cshtml
      • admin.razor

我需要为每个区域自定义 _Host.cshtml,使用自定义 javascript、css 等...

我尝试使用多个 MapFallbackToPage 和 MapFallbackToAreaPage,但都没有工作!我在任何地方都找不到这样的样本!

任何解决这个问题的想法,我有几个问题:

1) 我应该使用 MapFallbackToPage 还是 MapFallbackToAreaPage 以及如何使用?2)在_HostAdmin.cshtml中我应该有

PS:我曾尝试请求 MS 帮助,但没有机会:https : //github.com/dotnet/aspnetcore/issues/21574

TDG*_*TDG 6

文件结构的解决方案

  • 页面
    • _Host.cshtml
    • index.razor
  • 地区
    • 行政
      • 页面
        • _HostAdmin.cshtml
        • admin.razor

页面 /admin/admin 和 /admin/admin/123 - 其他使用默认方案

endpoints.MapControllers();
endpoints.MapBlazorHub();
endpoints.MapFallbackToAreaPage("/Admin/admin", "/_HostAdmin", "Admin");
endpoints.MapFallbackToAreaPage("/Admin/admin/{Id:long}", "/_HostAdmin", "Admin");
endpoints.MapFallbackToPage("/_Host");
Run Code Online (Sandbox Code Playgroud)

或者对于 /Admin/ 中的所有页面

endpoints.MapControllers();
endpoints.MapBlazorHub();
endpoints.MapFallbackToAreaPage("/Admin/{*clientroutes:nonfile}", "/_HostAdmin", "Admin");
endpoints.MapFallbackToPage("/_Host");
Run Code Online (Sandbox Code Playgroud)

_hostAdmin.cshtml

@page "/admin/"
@addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers
@{
    Layout = "_layoutAdministration";
}
<component type="typeof(AdminApp)" render-mode="ServerPrerendered" />

<div id="blazor-error-ui">
    <environment include="Staging,Production">
        An error has occurred. This application may no longer respond until reloaded.
    </environment>
    <environment include="Development">
        An unhandled exception has occurred. See browser dev tools for details.
    </environment>
    <a href="" class="reload">Reload</a>
    <a class="dismiss"></a>
</div>
Run Code Online (Sandbox Code Playgroud)