我有一个 blazor 服务器网站,我正在尝试将用户从我的网站重定向到外部网站。 e. https://www.google.com
我已经尝试使用导航管理器,因为我在站点之间重定向时使用了它,但它不起作用。
NavManager.NavigateTo("www.google.com");
这已经花了我几个小时的尝试和谷歌搜索,我真的很感激任何形式的帮助。
提前致谢。
我会使用带有 href 的锚标记。
<a href="https://www.google.com">Click to navigate.</a>
您需要 JavaScript:
@inject IJSRuntime jsRuntime
await jsRuntime.InvokeAsync<object>("open", ""https://www.google.com/"", "_blank");
NavigateTo 仅适用于本地内容,因为它使用 JavaScript 来更改 HTML。
对于 external url 它是一个重定向,您可以使用 HttpContextAccessor 来重定向:
在Program.cs中:
builder.Services.AddScoped<HttpContextAccessor>();
在您的剃刀页面中:
@inject HttpContextAccessor httpContextAccessor
现在您可以重定向:
httpContextAccessor.HttpContext.Redirect(url);