You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

ASP.NET Blazor 7刷新页面内容时如何保留全局变量值?

ASP.NET Blazor 7 报价系统:路由跳转与全局状态保留问题解决

问题背景

  • 基于ASP.NET Blazor 7开发的报价系统,通过全局状态容器QuoteIdentifier存储当前有效报价单号
  • 产品详情页提供「添加商品到报价」功能,触发前提是QuoteIdentifier中存在有效单号
  • 页面内置替代商品入口,点击后需路由至同一产品详情组件展示替代商品信息
  • 原实现遇到的核心问题:
    • 最初使用NavigationManager.NavigateTo并携带强制加载参数刷新页面,导致全局状态中的报价单号丢失,用户无法继续添加商品
    • 改用href或NavLink跳转时,页面内容无法更新,无法展示替代商品详情

解决方案

  • 迁移数据加载逻辑:将原本在OnInitialized(仅组件首次初始化时触发)中填充页面内容的代码,转移到OnParametersSet方法(每次组件路由参数变更时都会触发)
  • 调整路由跳转方式:移除NavigateTo中的强制加载参数,避免全页面刷新导致全局状态丢失
  • 重置页面内容:在OnParametersSet方法中重置页面内容对象,确保路由参数变更后(切换到替代商品时)重新拉取并渲染对应商品的详情信息

内容的提问来源于stack exchange,提问作者paxton

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.07 23:20:38