微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Blazor 服务器端应用程序如何在加载时从 http://hostname 重定向到 http://hostname/route1?

如何解决Blazor 服务器端应用程序如何在加载时从 http://hostname 重定向到 http://hostname/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");
    }
}

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。