在 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}")">
所以我想从一页导航到另一页。从产品列表到编辑产品视图。在我的列表页面上,我有一个 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}")">