【问题标题】:Blazor is disconnection when switching to another path切换到另一条路径时,Blazor 断开连接
【发布时间】:2020-05-11 09:22:18
【问题描述】:

我的 blazor 应用程序中有一个奇怪的问题。我不知道为什么,但是当我从应用程序的特定路径导航到另一个路径时,我会在浏览器控制台中收到 400 断开连接消息。

当我导航回入口点时,连接再次建立。

现在有这些路径

  1. /
  2. /管理员/用户
  3. /Admin/Users/{name}

Admin/Users 向我显示了我的 SQL 数据库中所有员工的列表。

<table class="table table-bordered">
    <thead>
        <tr>
            <th>Name</th>
            <th>E-Mail</th>
            <th>Status</th>
            <th>Aktion</th>
        </tr>
    </thead>
    <tbody>
        @foreach (var mitarbeiter in UserManager.Users)
        {
            <tr>
                <td>@mitarbeiter.FirstName @mitarbeiter.LastName</td>
                <td>@mitarbeiter.Email</td>
                <td></td>
                <td>
                    <a href="/Admin/Users/@mitarbeiter.UserName" class="btn btn-primary">
                        <i class="fa fa-edit"></i>
                    </a>
                </td>
            </tr>
        }
    </tbody>
</table>

如您所见,每个员工都有一个指向 /Admin/Users/{name} 的 a-Tag。当我点击它时,一切都按预期工作。当我现在使用导航返回 /Admin/Users 时,连接将被终止。当我再次手动转到 / 或 /Admin/Users 时,它会再次建立。

导航定义为:

<AuthorizeView Roles="Administratoren">
    <Authorized>
        <div class="sb-sidenav-menu-heading">System</div>
        <nav class="sb-sidenav-menu-nested nav">
            <NavLink href="/Admin/Users" class="nav-link">Benutzer</NavLink>
        </nav>
    </Authorized>
</AuthorizeView>

/Admin/Users/{name} 页面仅显示一些用于编辑员工的剃须刀组件。所有站点都使用相同的默认布局,其中包含 blazor.server.js

<script src="/_framework/blazor.server.js"></script>

有谁知道,我该如何解决这个问题或者是什么原因造成的?

提前致谢!

【问题讨论】:

    标签: c# asp.net-core blazor blazor-server-side asp.net-core-3.1


    【解决方案1】:

    为了解决这个问题,我将以下代码添加到我的 _Host.cshtml

    <base href="~/" />
    

    【讨论】:

      猜你喜欢
      • 2014-12-02
      • 2021-04-11
      • 1970-01-01
      • 2014-04-05
      • 1970-01-01
      • 2014-08-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多