使用 Blazor 服务器重定向到外部网站

问题描述 投票:0回答:4

我有一个 blazor 服务器网站,我正在尝试将用户从我的网站重定向到外部网站。 e. https://www.google.com

我已经尝试使用导航管理器,因为我在站点之间重定向时使用了它,但它不起作用。

NavManager.NavigateTo("www.google.com");

这已经花了我几个小时的尝试和谷歌搜索,我真的很感激任何形式的帮助。

提前致谢。

c# http-redirect blazor-server-side
4个回答
3
投票

NavigationManager.NavigateTo
适用于绝对和相对 URI。

尝试添加协议:

https://www.google.com

文档


1
投票

我会使用带有 href 的锚标记。

<a href="https://www.google.com">Click to navigate.</a>

1
投票

您需要 JavaScript:

@inject IJSRuntime jsRuntime
await jsRuntime.InvokeAsync<object>("open", ""https://www.google.com/"", "_blank");

0
投票

NavigateTo 仅适用于本地内容,因为它使用 JavaScript 来更改 HTML。

对于 external url 它是一个重定向,您可以使用 HttpContextAccessor 来重定向:

在Program.cs中:

builder.Services.AddScoped<HttpContextAccessor>();

在您的剃刀页面中:

@inject HttpContextAccessor httpContextAccessor

现在您可以重定向:

httpContextAccessor.HttpContext.Redirect(url);
© www.soinside.com 2019 - 2024. All rights reserved.