Blazor路由配置核心是声明页面路由、处理嵌套结构、传递动态参数;通过@page指令自动扫描注册,支持多路由、大小写敏感路径、嵌套路由需完整前缀和,参数支持类型约束如{id:int},全局由组件管理并定义NotFound页面。
Blazor 路由配置核心就三件事:声明页面路由、处理嵌套结构、传递动态参数。不需要手动注册,靠编译时扫描 @page 指令自动完成。
在任意 .razor 文件顶部用 @page 指令定义访问路径,一个组件可配多个路由:
@page "/" 对应首页,@page "/about" 对应关于页@page "/home" 和 @page "/",两者都可访问同一组件适合仪表盘、管理后台等有层级关系的场景,URL 形如 /admin/users:
Admi
n.razor)写 @page "/admin",内部放 占位子内容Users.razor)写 @page "/admin/users",路径必须完整包含父级前缀
用花括号传值,比如用户 ID 或产品编号:
@page "/user/{id}" + [Parameter] public string id { get; set; }
@page "/product/{id:int}",不匹配整数时直接 404,不用手动校验IRouteConstraint)所有逻辑起点是 App.razor 中的 组件:
AppAssembly="@typeof(Program).Assembly" 告诉 Blazor 扫哪个程序集找 @page
区块定义 404 页面,可放链接或跳转逻辑DefaultLayout="@typeof(MainLayout)" 统一应用,个别页面可用 @layout 覆盖基本上就这些。不复杂但容易忽略细节,比如嵌套路由没写全路径、参数名大小写不一致、或忘了在父组件加 —— 这些都会导致子内容不显示。