首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Blazor中设置启动页面

在Blazor中设置启动页面
EN

Stack Overflow用户
提问于 2019-07-04 03:13:08
回答 4查看 16.5K关注 0票数 23

我的Blazor应用程序中的启动页面是Index.cshtml。我想要将启动页面更改为主页,即我的Home.cshtml。

我使用的是vs2019,ASPNET CORE Blazor (0.9.0-preview3-19154-020)。

Blazor Serverside在Startup.cs中有路由,我认为这是针对服务的,而不是针对通过创建新的Blazor项目而生成的pages...and。

代码语言:javascript
复制
app.UseMvc(routes =>
{
   routes.MapRoute(name: "default", template: "{controller}/{action}/{id?}");
});

客户端的启动(由一个新的Blazor项目生成):

代码语言:javascript
复制
public void ConfigureServices(IServiceCollection services)
{
}

 public void Configure(IComponentsApplicationBuilder app)
{
     app.AddComponent<App>("app");
}

我需要以某种方式在客户端startup.cs中注册路由吗?

index.cshtml中只有一行代码:

代码语言:javascript
复制
@page "/"

如何将“启动”页面从Index.cshtml更改为Home.cshtml?

我看了很多地方,知道Blazor是“试验性的”。感觉我在努力工作来改变这么简单的事情。

EN

回答 4

Stack Overflow用户

发布于 2020-06-11 10:41:41

只需将@page "/“放在您想要成为默认页面的顶部。从Index.razor中删除@page "/“

代码语言:javascript
复制
@page "/"
@page "/fetchdata"
票数 18
EN

Stack Overflow用户

发布于 2019-07-04 14:47:56

复制包含路由模板的@page指令:

代码语言:javascript
复制
@page "/"

从Index.cshtml文件复制到Home.cshtml文件,然后删除Index.cshtml文件,或者为其@page指令提供不同的路由模板。

代码语言:javascript
复制
@page "/index"
票数 17
EN

Stack Overflow用户

发布于 2021-10-27 09:40:45

您不需要在启动时配置路由。路由只适用于每个剃刀页面。无论您在@page上放什么,都是该剃刀页面的路由路径,例如,到根路径"/“的Index.razor路由。

代码语言:javascript
复制
@page "/"

<h1>Index Page</h1>

@code {
    //Code here..
}

让不同的剃刀页面使用相同的路由并不是一个好主意,因此,如果您想在Home.razor页面上使用根路径,请确保将Index.razor更改为不同的路由。

如果你想要的是重定向,比方说,不是让你的站点加载到,而是希望它加载到,然后你可以在你的Index.razor上执行以下操作

代码语言:javascript
复制
@page "/"
@inject NavigationManager NavManager

<h1>Index Page</h1>

@code {
    protected override void OnInitialized()
    {
        NavManager.NavigateTo("/home");
    }
}

这里假设您的Home.razor上也有以下路由

代码语言:javascript
复制
@page "/home"

<h1>Index Page</h1>

@code {
    //Code here..
}
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56876631

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档