要从ASP.NET Core 3.1的托管服务中检查客户端(Index)页面是否加载,可以使用以下解决方法:
public void ConfigureServices(IServiceCollection services)
{
services.AddRazorPages();
services.AddServerSideBlazor();
services.AddSingleton();
}
public class PageLoadService
{
private bool _isPageLoaded = false;
public void SetPageLoadStatus(bool status)
{
_isPageLoaded = status;
}
public bool IsPageLoaded()
{
return _isPageLoaded;
}
}
public class IndexModel : PageModel
{
private readonly PageLoadService _pageLoadService;
public IndexModel(PageLoadService pageLoadService)
{
_pageLoadService = pageLoadService;
}
public void OnGet()
{
_pageLoadService.SetPageLoadStatus(true);
}
}
@page
@inject PageLoadService PageLoadService
@if (PageLoadService.IsPageLoaded())
{
页面已加载
}
else
{
页面未加载
}
通过以上步骤,您可以通过检查PageLoadService服务的状态来确定客户端(Index)页面是否加载。在Index.cshtml.cs的OnGet方法中,调用_pageLoadService.SetPageLoadStatus(true)来设置页面加载状态为真。然后在Index.cshtml中使用Razor语法来检查PageLoadService的状态,并显示相应的内容。