A simple test for maybe doing events in the backgrounds between pages in Blazor.
at main 1.8 kB view raw
1@page "/weather" 2 3<PageTitle>Weather</PageTitle> 4 5<h1>Weather</h1> 6 7<p>This component demonstrates showing data.</p> 8 9@if (forecasts == null) 10{ 11 <p><em>Loading...</em></p> 12} 13else 14{ 15 <table class="table"> 16 <thead> 17 <tr> 18 <th>Date</th> 19 <th aria-label="Temperature in Celsius">Temp. (C)</th> 20 <th aria-label="Temperature in Farenheit">Temp. (F)</th> 21 <th>Summary</th> 22 </tr> 23 </thead> 24 <tbody> 25 @foreach (var forecast in forecasts) 26 { 27 <tr> 28 <td>@forecast.Date.ToShortDateString()</td> 29 <td>@forecast.TemperatureC</td> 30 <td>@forecast.TemperatureF</td> 31 <td>@forecast.Summary</td> 32 </tr> 33 } 34 </tbody> 35 </table> 36} 37 38@code { 39 private WeatherForecast[]? forecasts; 40 41 protected override async Task OnInitializedAsync() 42 { 43 // Simulate asynchronous loading to demonstrate a loading indicator 44 await Task.Delay(500); 45 46 var startDate = DateOnly.FromDateTime(DateTime.Now); 47 var summaries = new[] { "Freezing", "Bracing", "Chilly", "Cool", "Mild", "Warm", "Balmy", "Hot", "Sweltering", "Scorching" }; 48 forecasts = Enumerable.Range(1, 5).Select(index => new WeatherForecast 49 { 50 Date = startDate.AddDays(index), 51 TemperatureC = Random.Shared.Next(-20, 55), 52 Summary = summaries[Random.Shared.Next(summaries.Length)] 53 }).ToArray(); 54 } 55 56 private class WeatherForecast 57 { 58 public DateOnly Date { get; set; } 59 public int TemperatureC { get; set; } 60 public string? Summary { get; set; } 61 public int TemperatureF => 32 + (int)(TemperatureC / 0.5556); 62 } 63}