【问题标题】:How to navigate to a folder's default page (.razor) in Blazor Server app?如何在 Blazor Server 应用程序中导航到文件夹的默认页面 (.razor)?
【发布时间】:2021-03-17 13:08:38
【问题描述】:

在我的 blazor 应用程序中,我有一个剃须刀组件(页面)文件夹的层次结构。每个文件夹代表一个数据模型,并包含 4 个 .razor 页面。

Contacts
     List.razor
     View.razor
     Edit.razor
     Create.razor
Accounts
     List.razor
     View.razor
     Edit.razor
     Create.razor

等等

这些页面的 URL:

/contacts/list
/contacts/view
/contacts/edit
/contacts/create
/accounts/list
/accounts/view
/accounts/edit
/accounts/create

我的目标是当我在浏览器中输入/contacts 时,它应该被路由到该文件夹​​中的默认页面,即/contacts/list 或者如果我输入/accounts,它必须路由到/accounts/list

我怎样才能做到这一点?

【问题讨论】:

    标签: asp.net-core blazor blazor-server-side razor-components


    【解决方案1】:

    您可以在要成为规范顶级的页面上添加第二个 @page 指令。

    @page "/contacts/list"
    @page "/contacts"
    

    如果您绝对必须重定向/contacts/contacts/list,您可以在/contacts 页面上使用NavigationManager 重定向到列表页面。

    【讨论】:

    • 没有“联系人”这样的页面,而是“联系人”文件夹。您的意思是我必须使用页面指令@page "/contacts" 在 Contacts 文件夹内创建一个虚拟页面,然后在初始化页面时使用 NavigationManager 重定向到 /contacts/list
    • 是的,你明白了。如果您不能在 /lists 页面上使用两个页面指令,那么这就是要走的路(等待另一个答案不是意外功能。)
    • @ElshadShabanov 只是为了澄清一下,您所要做的就是在此答案中添加两行以获得您的要求。您可以根据需要添加任意数量的页面指令(我猜?)以匹配将显示您的 lists 页面的不同路由。仅当您确实需要...时才执行重定向操作
    猜你喜欢
    • 2021-05-10
    • 2020-05-23
    • 2021-06-07
    • 2019-12-30
    • 2020-03-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-09-13
    相关资源
    最近更新 更多