Blazor 服务器端应用程序如何在加载时从 http://hostname 重定向到 http://hostname/route1?
How can a Blazor server side app redirect from http://hostname to http://hostname/route1 on load?
对于我使用 MVC/TypeScript 或 MVC/Angular 构建的几个站点,我需要立即将用户从 http://hostname 重定向到 http://hostname/route1。我正在尝试弄清楚如何使用 Blazor 服务器端实现相同的功能。
我知道这可以使用 IIS URL 重写引擎来完成,但是,尚未确定该应用程序是否将在 IIS 下托管,在 Windows 上自托管,或托管在 Linux.
这可能吗?如果是这样,此实施的最佳实践方法是什么?
谢谢
您可以在您的根页面上 OnInitialize
进行重定向(也许 index.razor
)
@page "/"
@inject NavigationManager MyNavigationManager
@code
{
protected override void OnInitialized()
{
MyNavigationManager.NavigateTo("route1");
}
}
在 NavigationManager cheatsheet
了解更多关于 navigationManager 的信息
谢谢大家。您提供了一个起点。
我更改了 MainLayout.razor 以覆盖 OnInitialized 方法。
@inject NavigationManager MyNavigationManager
@code
{
protected override void OnInitialized()
{
var currentUri = new Uri(MyNavigationManager.Uri);
if (currentUri.AbsolutePath == "/")
MyNavigationManager.NavigateTo("route1");
}
}
对于我使用 MVC/TypeScript 或 MVC/Angular 构建的几个站点,我需要立即将用户从 http://hostname 重定向到 http://hostname/route1。我正在尝试弄清楚如何使用 Blazor 服务器端实现相同的功能。
我知道这可以使用 IIS URL 重写引擎来完成,但是,尚未确定该应用程序是否将在 IIS 下托管,在 Windows 上自托管,或托管在 Linux.
这可能吗?如果是这样,此实施的最佳实践方法是什么?
谢谢
您可以在您的根页面上 OnInitialize
进行重定向(也许 index.razor
)
@page "/"
@inject NavigationManager MyNavigationManager
@code
{
protected override void OnInitialized()
{
MyNavigationManager.NavigateTo("route1");
}
}
在 NavigationManager cheatsheet
了解更多关于 navigationManager 的信息谢谢大家。您提供了一个起点。
我更改了 MainLayout.razor 以覆盖 OnInitialized 方法。
@inject NavigationManager MyNavigationManager
@code
{
protected override void OnInitialized()
{
var currentUri = new Uri(MyNavigationManager.Uri);
if (currentUri.AbsolutePath == "/")
MyNavigationManager.NavigateTo("route1");
}
}