簡體   English   中英

Razor Pages .NET Core 2.1 子路由

[英]Razor Pages .NET Core 2.1 Child Routes

我正在開發一個 .NET Core 2.1 Razor Pages 應用程序,但不知道為什么路由器不符合我的期望。 在我的應用程序中,Orchestration 對象具有規則對象的集合。 業務流程定義為在 DB 中使用 Guid 查詢。

我在 Orchestration 文件夾中的 Index.cshtml 看起來像

@page "{id:guid}"
@model Website.Pages.Orchestration.OrchestrationModel

並且可以預見localhost/Orchestration/{guid}路由到正確的頁面。

我的目標是localhost/Orchestration/{guid}/rule/{ruleId}/edit以點擊 Rule 文件夾中的 Edit.cshtml。 我的嘗試很接近,但 .NET 匹配Orchestration/rule而不是Orchestration/{guid}/rule 我嘗試了幾種咒語,試圖將{orchestrationid}/{id}到 Rule 目錄中的 Edit.cshtml 中,但它不起作用。 這似乎是可能的,我感謝對我遺漏的任何幫助。

注意 rule/Index.cshtml 已重命名為 Edit

Edit.cshtml 文件看起來像

@page "{id}"
@model Website.Pages.Orchestration.Rule.RuleModel

不起作用的部分是嘗試訪問子路由

在此處輸入圖片說明

您真正想要做的是覆蓋依賴於將 URL 匹配到文件路徑的默認路由系統。 您可以通過將覆蓋路由模板指定為@page指令的一部分來完成此@page 覆蓋路由模板以選項波浪號 ( ~ ) 和正斜杠為前綴,因此以下內容應該適合您:

@page "/Orchestration/{id:guid}/rule/{ruleId:int}/edit"

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM