Quantcast
Channel: Active questions tagged blazor - Stack Overflow
Viewing all articles
Browse latest Browse all 4839

Best way to preload data in blazor server

$
0
0

I want to do something similar to what I can do in React. In React, before the app renders I can call a function that requests data from the server (data that will be used everywhere in the application). Something like the company id for example.

So an idea I had was to have all my pages require authentication. So a non authenticated user will get in, authentication will send the user to the scaffolded identity razor pages, then the razor pages will send the user back through the return URL.

I want to be able to load my favority company id (stored in DB) before any blazor component renders after the redirect and I want to render a loader until it is finished and I can access my company id everywhere in my application safely without it being null.

Mostly I want to understand the execution order in rendering in blazor server to know where I can pre-load data before the user can interact with my application. I thoug

Which would be the best place to do this in a blazor server application?

I have two possible places where I could do this preloading, either on App.razor

<MaterialStyles /><ThemeProvider Theme="@Theme.Light" /><CascadingAuthenticationState><Router AppAssembly="@typeof(Program).Assembly"><Found Context="routeData"><AuthorizeRouteView RouteData="@routeData" DefaultLayout="@typeof(MainLayout)" /></Found><NotFound><LayoutView Layout="@typeof(MainLayout)"><p>Sorry, there's nothing at this address.</p></LayoutView></NotFound></Router></CascadingAuthenticationState>

So I could add a code block here, but I am not sure if I can know if my user is authenticated at this moment in execution. I wonder if I could do this instead in the layout file of my application or if there is a better place for this preloading to occur.


Viewing all articles
Browse latest Browse all 4839

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>