【问题标题】:Using NavigationManager NavigateTo forceload in Blazor server doesn't reload the entire index在 Blazor 服务器中使用 NavigationManager NavigateTo 强制加载不会重新加载整个索引
【发布时间】:2021-10-08 19:26:31
【问题描述】:

创建使用 MS 身份服务的 dotnet Blazor 服务器应用。当用户注册和登录时,应用程序会向他们发送一个 razor 组件,该组件会添加未保存在 MS Identity 中的其他用户信息 - 他们必须完成此操作才能继续。我在导航栏和索引页面重定向中都使用身份验证和角色。当我在用户表单(剃须刀组件)中运行它时......

navMgr.NavigateTo("/", forceLoad: true);

它甚至没有留下嵌入在 Index.razor 中的 razor 组件。

我想要的是这个表单完成将完全刷新为该用户的“/”(就像他们刚刚登录一样)。我是否必须注销用户才能执行此操作?

【问题讨论】:

    标签: c# .net navigation blazor identity


    【解决方案1】:

    这似乎解决了 index.razor 页面中的问题。在我的@if() 中使用过消费者并禁用。

    protected override async Task OnParametersSetAsync()
    {
        authstate = await GetAuthenticationStateAsync.GetAuthenticationStateAsync();
        authuser = authstate.User.Identity.Name;
        if (authuser != null)
        {
            user = await userManager.FindByEmailAsync(authuser);
            consumer = await userManager.IsInRoleAsync(user, "Consumer");
            disabled = await userManager.IsInRoleAsync(user, "Disabled");
        }
    }
    

    【讨论】:

      猜你喜欢
      • 2021-04-12
      • 1970-01-01
      • 1970-01-01
      • 2021-02-28
      • 1970-01-01
      • 1970-01-01
      • 2015-06-25
      • 1970-01-01
      • 2019-03-29
      相关资源
      最近更新 更多