在 Blazor 中导航页面

Navigating pages in Blazor

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

<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:没有与此事件关联的事件处理程序。

当我点击我的 link 时。 有什么解决办法吗?

我不认为问题出在导航本身。尝试从其他两个页面(创建页面 1 和页面 2)进行导航并试一试。 如果它工作正常,则问题出在您的代码中。

我会将此回复作为评论给出,但像穴居人一样,我没有足够的声誉。

看看 NavLink NavMenu.razor

<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}")">