Blazor客户端如何访问服务端Razor页面?
Blazor客户端访问服务端Razor页面404问题解决方法
修正NavLink的href路径
服务端页面路由声明为@page "/testpage",客户端NavLink的href需要以斜杠开头,修改为:<div class="nav-item px-3"> <NavLink class="nav-link" href="/testpage" Match="NavLinkMatch.All"> <span class="bi bi-house-door-fill-nav-menu" aria-hidden="true"></span> Test </NavLink> </div>相对路径
testpage会被客户端路由解析为当前路径下的子路由,而服务端路由是根路径下的/testpage,必须用绝对路径才能正确匹配。替换为
<a>标签跳转
Blazor的NavLink主要适配客户端单页路由导航,访问服务端Razor页面时,直接使用原生<a>标签触发整页刷新,让服务端处理路由:<div class="nav-item px-3"> <a class="nav-link" href="/testpage"> <span class="bi bi-house-door-fill-nav-menu" aria-hidden="true"></span> Test </a> </div>验证服务端路由配置
检查服务端项目的Program.cs,确保已正确注册服务端组件路由:app.MapRazorComponents<App>() .AddInteractiveServerRenderMode();同时确认
Testpage.razor的@page指令无拼写错误,路由格式完全正确。确认项目结构与命名空间
确保Testpage.razor的命名空间为ServerProject.Components.Pages,且服务端App.razor中包含<Routes />组件,保证路由系统正常运行。
内容的提问来源于stack exchange,提问作者Flaubert TAGU
相关产品推荐
相关产品推荐

