Blazor 怎么在页面之间传递数据

admin 百科 13
Blazor页面间传数据分三类:路由跳转用URL参数(如@page "/product/{id:int}"),组件嵌套用Parameter绑定,跨页面共享用状态管理(如Scoped服务、CascadingParameter);全C#实现,无需JS。

Blazor 怎么在页面之间传递数据-第1张图片-佛山资讯网

Blazor 页面间传数据,核心看场景:路由跳转用 URL 参数,组件嵌套用 参数绑定,跨页面/跨组件共享用 状态管理(如 Cas#%#$#%@%@%$#%$#%#%#$%@_b5fde512c76571c8afd6a6089eaaf42aingParameter、服务注入或第三方库)。不依赖 JS,全 C# 驱动。

用 NavigationManager 带参数跳转(推荐给简单值)

适合传递 ID、名称等轻量、可序列化的值。本质是拼 query string 或使用路由模板参数。

  • 定义带参数的路由,比如:@page "/product/{id:int}",然后在组件里用 [Parameter] public int Id { get; set; } 接收
  • 跳转时用 NavigationManager.NavigateTo("/product/123"),框架自动解析并赋值
  • 想传多个或非路由参数?用 query string:NavigationManager.NavigateTo("/search?keyword=blazor&sort=date"),再用 Microsoft.AspNetCore.WebUtilities.QueryHelpers.ParseQuery 解析

用组件参数(@bind / [Parameter])父子传值

不是“页面之间”,而是父组件渲染子组件时直接传——适合布局页、弹窗、表单等嵌套结构。

  • 子组件声明:[Parameter] public string Title { get; set; },支持双向绑定加 [Parameter] public EventCallback<string> TitleChanged { get; set; }</string>
  • 父组件调用:<productcard></productcard>,修改子组件内 Title 会自动同步回父组件
  • 注意:仅限直系父子;跨层级需靠 CascadingParameter 或服务

用服务(Scoped Service)实现跨页面状态共享

适合登录态、用户偏好、筛选条件等需要在多个页面间保持一致的数据。

标签: word js cad app ai 路由 microsoft c# 组件渲染 red gate

发布评论 0条评论)

还木有评论哦,快来抢沙发吧~