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

从ASP.NET迁移至Blazor MAUI:解决Page.RouteData定义缺失问题

Blazor MAUI中获取路由参数的解决方案

ASP.NET Web Forms里的Page.RouteData在Blazor MAUI中不存在,Blazor框架有自己的路由参数获取机制,以下是两种可行的解决方法:

方法一:使用[Parameter]属性绑定路由段参数

这是Blazor中获取路由参数的标准方式,适用于路由路径中的参数(如/your-page/{idi}):

  1. 在组件类中声明对应参数:
[Parameter]
public string? idi { get; set; }
  1. 确保组件的@page指令包含该参数的路由模板,例如:
@page "/your-page/{idi}"
  1. 直接使用参数赋值:
obj_arv.isi = idi;

方法二:使用NavigationManager解析参数

如果是查询字符串参数(如/your-page?idi=xxx),或者需要动态解析当前路由,可以通过NavigationManager实现:

  1. 在组件中注入NavigationManager:
@inject NavigationManager NavManager
  1. 解析路由参数:
// 解析查询字符串参数
var uri = NavManager.ToAbsoluteUri(NavManager.Uri);
if (Microsoft.AspNetCore.WebUtilities.QueryHelpers.ParseQuery(uri.Query).TryGetValue("idi", out var idiValue))
{
    obj_arv.isi = idiValue;
}

// 解析路由段参数(示例:路径为 /items/123,获取最后一段的123)
var pathSegments = uri.AbsolutePath.Split('/', StringSplitOptions.RemoveEmptyEntries);
var idiSegment = pathSegments.LastOrDefault();
if (!string.IsNullOrEmpty(idiSegment))
{
    obj_arv.isi = idiSegment;
}

内容的提问来源于stack exchange,提问作者Mohammad Taha Moghaddasi

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.04 05:33:12