全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

Blazor 页面导航和路由设置教程

Blazor 路由通过 @page 指令注册页面、NavigationManager 实现跳转与参数处理,支持路径参数绑定、查询字符串解析、地址监听及手动权限拦截。

Blazor 的页面导航和路由靠 @page 指令和内置的 NavigationManager 配合实现,不需要额外安装路由库。核心是理解组件如何被识别为可访问页面、如何跳转、以及如何处理参数和导航状态。

页面如何变成可访问的路由

在 Blazor 中,只要在 Razor 组件顶部加上 @page 指令,它就自动注册为一个路由路径:

  • @page "/counter" → 访问 /counter 就显示这个组件
  • @page "/products/{id:int}" → 支持带整数参数的路径,如 /products/123
  • @page "/user/{name?}"{name?} 表示可选参数,/user/user/john 都匹配

所有带 @page 的组件会被 App.razor 中的 自动扫描并映射,无需手动配置路由表。

程序内跳转:用 NavigationManager

在组件中注入 NavigationManager,就能实现编程式导航:

  • Navigation.NavigateTo("/about") —— 跳转到指定路径(默认同步,不刷新页面)
  • Navigation.NavigateTo("/home", forceLoad: true) —— 强制浏览器刷新(用于跳转到非 Blazor 管理的页面,如静态 HTML)
  • 跳转前常需检查权限或保存状态,可在调用 NavigateTo 前加逻辑判断

注意:不要在组件首次渲染(OnInitialized)中直接跳转并同时修改状态,可能触发重复渲染;建议用 StateHasChanged() 或延迟执行确保安全。

获取和响应路由参数与查询字符串

路由参数自动绑定到组件的 public 属性(需匹配名称和类型),例如:

  • @page "/blog/{year:int}/{month:int}" 对应 public int Year { get; set; }public int Month { get; set; }
  • 查询字符串(如 ?q=blazor&sort=date)不会自动绑定,要用 NavigationManager.ToBaseRelativePath(Navigation.Uri) 解析 URL,再用 Microsoft.AspNetCore.WebUtilities.QueryHelpers.ParseQuery()

监听地址栏变化?订阅 NavigationManager.LocationChanged 事件,但记得在 Dispose 中取消订阅,避免内存泄漏。

处理导航拦截和未授权跳转

Blazor 不自带守卫(Guard)机制,但可以手动实现:

  • 在布局组件(如 MainLayout.razor)中检查用户登录状态,用 @if (!isLoggedIn) { }
  • 对敏感页面,在 OnParametersSet 中校验权限,不满足时立即跳转:Navigation.NavigateTo("/unauthorized", replace: true)
  • 想阻止离开页面(如表单未保存),目前没有原生 beforeunload 集成,需用 JS 互操作调用 window.addEventListener('beforeunload', ...)

本上就这些 —— Blazor 路由轻量直接,关键在于把 @pageNavigationManager 和生命周期配合好,不复杂但容易忽略细节。


# html  # js  # 浏览器  # app  # ai  # 路由  # win  # microsoft  # 字符串解析  # gate  # if  # sort  # date  # 字符串  # int  # public 


相关文章: 建站之星如何修改网站生成路径?    C++如何将C风格字符串(char*)转换为std::string?(代码示例)  移动端手机网站制作软件,掌上时代,移动端网站的谷歌SEO该如何做?  建站之星在线版空间:自助建站+智能模板一键生成方案  北京专业网站制作设计师招聘,北京白云观官方网站?  如何通过VPS建站实现广告与增值服务盈利?  如何在景安云服务器上绑定域名并配置虚拟主机?  建站之星后台密码遗忘如何找回?  潮流网站制作头像软件下载,适合母子的网名有哪些?  广平建站公司哪家专业可靠?如何选择?  上海网站制作开发公司,上海买房比较好的网站有哪些?  小说建站VPS选用指南:性能对比、配置优化与建站方案解析  网站建设制作需要多少钱费用,自己做一个网站要多少钱,模板一般多少钱?  浙江网站制作公司有哪些,浙江栢塑信息技术有限公司定制网站做的怎么样?  网站制作服务平台,有什么网站可以发布本地服务信息?  专业网站设计制作公司,如何制作一个企业网站,建设网站的基本步骤有哪些?  网站制作哪家好,cc、.co、.cm哪个域名更适合做网站?  定制建站如何定义?其核心优势是什么?  网站制作与设计教程,如何制作一个企业网站,建设网站的基本步骤有哪些?  如何在宝塔面板中修改默认建站目录?  如何获取PHP WAP自助建站系统源码?  详解ASP.NET 生成二维码实例(采用ThoughtWorks.QRCode和QrCode.Net两种方式)  建站之星好吗?新手能否轻松上手建站?  南平网站制作公司,2025年南平市事业单位报名时间?  移民网站制作流程,怎么看加拿大移民官网?  mc皮肤壁纸制作器,苹果平板怎么设置自己想要的壁纸我的世界?  合肥制作网站的公司有哪些,合肥聚美网络科技有限公司介绍?  外贸公司网站制作,外贸网站建设一般有哪些步骤?  深圳网站制作设计招聘,关于服装设计的流行趋势,哪里的资料比较全面?  小型网站制作HTML,*游戏网站怎么搭建?  微信小程序 五星评分(包括半颗星评分)实例代码  小自动建站系统:AI智能生成+拖拽模板,多端适配一键搭建  香港服务器网站搭建教程-电商部署、配置优化与安全稳定指南  威客平台建站流程解析:高效搭建教程与设计优化方案  C++时间戳转换成日期时间的步骤和示例代码  网站制作外包价格怎么算,招聘网站上写的“外包”是什么意思?  网站海报制作教学视频教程,有什么免费的高清可商用图片网站,用于海报设计?  建站与域名管理如何高效结合?  枣阳网站制作,阳新火车站打的到仙岛湖多少钱?  网站制作知乎推荐,想做自己的网站用什么工具比较好?  网站制作大概多少钱一个,做一个平台网站大概多少钱?  如何在Windows服务器上快速搭建网站?  建站之星如何实现PC+手机+微信网站五合一建站?  哈尔滨网站建设策划,哈尔滨电工证查询网站?  如何在Tomcat中配置并部署网站项目?  定制建站平台哪家好?企业官网搭建与快速建站方案推荐  常州自助建站工具推荐:低成本搭建与模板选择技巧  如何高效完成独享虚拟主机建站?  建站之星微信建站一键生成小程序+多端营销系统 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。