我正在使用Blazor/razor创建一个网站,其中登录页面的布局与我的默认布局不同。我知道我必须使用页面顶部的@layout标记来指定我使用的是不同的布局,但问题是,当页面打开时,默认布局似乎在更改为使用我指定的布局之前使用了一瞬间。关于如何阻止这种情况发生,有什么建议吗?
问题是调用await base.OnInitializedAsync()
的顺序不正确。在我的MainLayout.razor文件中,有一个OnInitializedAsync方法,包含前面提到的await调用。我还有一些逻辑检查用户是否已经通过身份验证可以使用网站(登录(,如果没有,则重定向到loggin页面。通过确保await base.OnInitializedAsync()
调用在该逻辑之后;被覆盖";布局据我所知,这是因为wait调用包含与布局有关的base
关键字,所以在重定向逻辑初始化页面并在完成任何逻辑之前呈现页面的默认布局之前进行此调用。