首页 > 解决方案 > 在 Blazor 中导航页面

问题描述

所以我想从一页导航到另一页。从产品列表到编辑产品视图。在我的列表页面上,我有一个链接如下。

<NavLink class="nav-link">
                        <span class="oi oi-list-rich" aria-hidden="true" id="@product.Id" @onclick="@(() => Navigate(product.Id))" style="cursor: pointer"></span> Edit @*FIX ME should link to edit product. Obviously...*@
</NavLink>

导航的代码是:

    void Navigate(long productId)
    {
        NavManager.NavigateTo("/editproduct/" + productId);
    }

我想进入一个页面:@page "/editproduct/{id}"

在我看来,我的代码应该可以工作。然而我得到一个:未捕获的错误:System.ArgumentException:没有与此事件关联的事件处理程序。

当我点击我的链接时。任何想法如何解决这一问题 ?

标签: c#navigationblazor

解决方案


看看NavMenu.razorNavLink中的一个

<NavLink class="nav-link" href="counter">
     <span class="oi oi-plus" aria-hidden="true"></span> Counter
</NavLink>

请注意href指向您要导航到的位置。

<NavLink class="nav-link" href="@($"editproduct/{product.Id}")">

推荐阅读