超链接未加载页面,但显示为选中

时间:2019-06-25 11:34:28

标签: asp.net hyperlink core blazor-server-side

ASP,net core3.0服务器端Blazor应用程序。在页面中选择链接之后。所选页面未加载,但是名称显示在地址栏中。我必须在浏览器中单击“刷新”才能加载页面。

我尝试将首页链接从“”更改为“ /”,最后在“ / Home”的首页中添加了第二个页面指令,并将其添加。

开发环境中的所有负载都很好。但是在Azure中,它的反应是这样的。

“导航”菜单与模板相同,我什至离开了天气页面,因为以后我想实际使用它。

<div class="top-row pl-4 navbar navbar-dark">
    <a class="navbar-brand" href="/">
        <h1 id="Title">SHOP LIVE</h1>
        <h6 id="Title">Version 2.0</h6>
    </a>
    <button class="navbar-toggler" onclick="@ToggleNavMenu">
        <span class="navbar-toggler-icon"></span>
    </button>
</div>

<div class="@NavMenuCssClass" onclick="@ToggleNavMenu">
    <ul class="nav flex-column">
        <li class="nav-item px-3">
            <NavLink class="nav-link" href="/Home" Match="NavLinkMatch.All">
                <span class="oi oi-home" aria-hidden="true"></span> Repair Orders
            </NavLink>
        </li>
        <li class="nav-item px-3">
            <NavLink class="nav-link" href="/ShopMap">
                <span class="oi oi-map-marker" aria-hidden="true"></span> Shop Map
            </NavLink>
        </li>
        <li class="nav-item px-3">
            <NavLink class="nav-link" href="fetchdata">
                <span class="oi oi-list-rich" aria-hidden="true"></span> Weather
            </NavLink>
        </li>
    </ul>
</div>

@functions {
    bool collapseNavMenu = true;

    string NavMenuCssClass => collapseNavMenu ? "collapse" : null;

    void ToggleNavMenu()
    {
        collapseNavMenu = !collapseNavMenu;
    }
}

---更新---

我遇到了错误: 浏览器控制台中的“如果连接未处于“已连接”状态,则无法发送数据”。我在Google上找到了它,但是每个人都说这是以前的预览版本中的pix。

1 个答案:

答案 0 :(得分:1)

服务器端Blazor使用网络套接字(通过SignalR)在服务器和浏览器之间进行通信。

Azure Web应用程序默认禁用Web套接字,这就是为什么您的浏览器无法连接到服务器的原因。

转到您的Azure应用配置以启用Web套接字。

Doc:Publish an ASP.NET Core SignalR app to Azure App Service