首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >剃须刀页.NET核心2.1儿童路线

剃须刀页.NET核心2.1儿童路线
EN

Stack Overflow用户
提问于 2019-02-12 00:01:59
回答 1查看 135关注 0票数 2

我正在开发一个.NET Core2.1RazorPages应用程序,不知道为什么路由器不符合我的期望。在我的应用程序中,业务流程对象有一个规则对象集合。使用Guid在DB上查询业务流程。

我在编排文件夹中的Index.cshtml看起来像

代码语言:javascript
复制
@page "{id:guid}"
@model Website.Pages.Orchestration.OrchestrationModel

不出所料,localhost/Orchestration/{guid}路由到正确的页面。

我的目标是localhost/Orchestration/{guid}/rule/{ruleId}/edit点击规则文件夹中的Edit.cshtml。我的尝试是接近的,但是.NET正在匹配Orchestration/rule而不是Orchestration/{guid}/rule。我尝试过几个咒语,试图将{orchestrationid}/{id}添加到规则目录中的Edit.cshtml中,但它不起作用。这似乎是可能的,我很感激对我所缺少的一切的任何帮助。

注规则/Index.cshtml已重命名为Edit

Edit.cshtml文件看起来像

代码语言:javascript
复制
@page "{id}"
@model Website.Pages.Orchestration.Rule.RuleModel

不起作用的部分是试图访问子路由

EN

回答 1

Stack Overflow用户

发布于 2019-02-13 10:26:11

实际上,您要做的是覆盖默认的路由系统,该系统依赖于将URL与文件路径匹配。您可以通过将覆盖路由模板指定为@page指令的一部分来实现这一点。覆盖路由模板的前缀是选项倾斜(~)和正斜杠,因此以下内容应该适用于您:

代码语言:javascript
复制
@page "/Orchestration/{id:guid}/rule/{ruleId:int}/edit"
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54640942

复制
相关文章

相似问题

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