Uno Platform WASM URL路由:获取URL实现博客引擎路由无文档参考
在 Uno Platform 中获取 URL 并实现路由处理
1. 获取当前 URL
Uno Platform 内置路由系统,可通过以下方式获取 URL 信息:
- 桌面/Web 端:直接通过
Router.Current.Source获取完整 URL:
var currentUrl = Router.Current.Source.AbsoluteUri;
- 移动端:从路由状态中解析路径(对应深层链接):
var routeState = Router.Current.GetState(); var path = routeState.Path; // 提取路由路径部分
2. 路由映射到页面/方法
注册路由规则
在应用启动阶段注册路由与页面的映射关系:
Router .RegisterRoute("/blog/post/{postId}", typeof(PostDetailPage)) .RegisterRoute("/blog/category/{categoryName}", typeof(CategoryPage));
解析参数并调用方法
在目标页面的OnNavigatedTo事件中解析路由参数,执行对应业务方法:
protected override void OnNavigatedTo(NavigationEventArgs e) { base.OnNavigatedTo(e); if (e.Parameter is RouteState routeState) { if (routeState.TryGetParameter("postId", out string postId)) { LoadPostDetail(postId); // 调用加载文章详情的方法 } } }
3. 监听 Web 端 URL 变化
在 Web 端的Program.cs中配置路由变化监听,处理动态 URL 请求:
builder.Services.AddUnoNavigation(); builder.Services.Configure<RouterOptions>(options => { options.RouteChanged += (sender, args) => { var currentUrl = args.NewState.Source.AbsoluteUri; // 在这里处理 URL 变化后的逻辑 }; });
内容的提问来源于stack exchange,提问作者Paolo A
相关产品推荐
相关产品推荐

