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

Blazor WASM如何在Program.cs中获取当前URL?

在Blazor WASM的Program.cs中获取当前URL的方法

你可以通过构建WebAssemblyHost后,从服务容器中获取NavigationManager实例来获取当前URL,具体实现如下:

  • 先完成服务配置与host构建,再通过host.Services获取已注册的NavigationManager服务
  • 调用NavigationManager.Uri属性即可拿到应用当前的URL

示例代码:

var builder = WebAssemblyHostBuilder.CreateDefault(args);
builder.RootComponents.Add<App>("#app");

// 配置你的自定义服务...

var host = builder.Build();

// 获取NavigationManager实例
var navigationManager = host.Services.GetRequiredService<NavigationManager>();
var currentUrl = navigationManager.Uri;

// 执行你需要用currentUrl完成的逻辑

await host.RunAsync();

注意:这里获取的是应用初始加载时的URL,因为Program.cs属于应用启动阶段的代码,后续路由变化不会更新这个值。如果需要在运行时实时获取URL,还是要在组件中使用注入的NavigationManager。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.18 23:40:33