روال فراخوانی در Blazor

برای اینکه یک وب‌سایت طراحی شده با Blazor فراخوانی و نمایش داده بشه فایلهای زیر به ترتیب لود می‌شوند:

1- فایل _Host.cshtml
در این فایل ما مواردی که مثلاً در ASP.NET به عنوان ویو مادر در نظر میگرفتیم را وارد می‌کنیم همچنین در این فایل اولین کامپوننت ما یعنی routing به شکل زیر فراخوانی می‌شود:

<component type="typeof(App)" render-mode="ServerPrerendered" />

2- فایل App.razor:
در این فایل موارد Routing انجام شده و در صورت یافت شدن آدرس وارد شده، مسیر برنامه را به MainLayout می‌برد و اگر آدرس یافت نشود با نمایش خطایی کاربر را مطلع می‌سازد.

<Router AppAssembly="@typeof(Program).Assembly" PreferExactMatches="@true">
    <Found Context="routeData">
        <RouteView RouteData="@routeData" DefaultLayout="@typeof(MainLayout)" />
    </Found>
    <NotFound>
        <LayoutView Layout="@typeof(MainLayout)">
            <p>Sorry, there's nothing at this address.</p>
        </LayoutView>
    </NotFound>
</Router>

3- فایل MainLayout:
در این فایل محتوای Content نمایش داده می‌شود. همچنین تگ مهمی به نام @Body دارد که به توسط آن محتوای سایر فایلها نمایش داده می‌شوند. در واقع عملکردی مانند RenderBody در MVC داریم:

@inherits LayoutComponentBase

<div class="page">
    <div class="sidebar">
        <NavMenu />
    </div>

    <div class="main">
        <div class="top-row px-4">
            <a href="https://docs.microsoft.com/aspnet/" target="_blank">About</a>
        </div>

        <div class="content px-4">
            @Body
        </div>
    </div>
</div>