到基础 Razor 页面的多个别名路由
Posted
技术标签:
【中文标题】到基础 Razor 页面的多个别名路由【英文标题】:Multiple Alias Routes to base Razor Page 【发布时间】:2020-11-16 20:16:18 【问题描述】:我对 Razor 页面很陌生,我正在尝试弄清楚如何复制我在当前 Angular 页面中的路由。
我有一个基本剃须刀页面,根据传递给它的参数,该页面将填充不同的数据。这很容易,我知道该怎么做。但是,我的问题在于路由,因为我希望能够传递基于基本 URL 的可读参数。例如,我希望能够做到:
https://myURL/Band1 https://myURL/Band2
并且都指向同一个页面(但不是索引页面),使用参数“Band1”或“Band2”来显示相关信息。
我了解如何使用参数,以及如何获取数据,我不清楚的是如何根据基本 URL 进行此路由。如果是 https://myURL/b/Band1,我可以看到我会怎么做,因为我会创建一个“b”页面并接受参数。
但是如果没有 URL 的中间部分,如何做到这一点呢?我需要能够这样做才能不破坏现有链接。
谢谢!
【问题讨论】:
【参考方案1】:Razor 页面的 docs 建议您可以创建一个名为 Index.cshtml
的页面,这将作为 URL 中未指定页面的默认设置。
编辑 如果您想保留无参数索引页面,但在提供附加 URL 部分时让您的页面取而代之,请在您的页面中尝试以下操作:
@page "/bandName"
【讨论】:
我确实有一个索引页面,但我希望该页面与 Band1、Band2 所指示的页面不同。 MyURL 应该放在一页上。 MyURL/Band1 和 MyURLBand2 应该位于同一页面,但不是 Index。 我会试试看的!这似乎是解决方案! 是的,这就是解决方案!感谢您的回答!如果我可以投票,我绝对会!以上是关于到基础 Razor 页面的多个别名路由的主要内容,如果未能解决你的问题,请参考以下文章
ASP.Net MVC开发基础学习笔记:三Razor视图引擎控制器与路由机制学习
ASP.Net MVC开发基础学习笔记:Razor视图引擎控制器与路由机制学习