Razor Pages 找不到子文件夹索引页
Razor Pages not finding subfolder index page
这可能是一个愚蠢的问题,但我似乎无法获得 Razor Pages 项目来正确定位放置在子文件夹中的索引文件。
基于对 razor 页面的介绍:https://docs.microsoft.com/en-us/aspnet/core/razor-pages/?view=aspnetcore-5.0&tabs=visual-studio
以下结构有效。
File name and path matching URL
/Pages/Index.cshtml / or /Index
/Pages/Contact.cshtml /Contact
/Pages/Store/Contact.cshtml /Store/Contact
/Pages/Store/Index.cshtml /Store or /Store/Index
列出的最后一项是我遇到的问题。似乎如果我尝试指定 /Store
它将无法找到正确的页面。如果我指定 /Store/Index
它会起作用..
以下是复制方法。
- 使用 RazorPages 创建 ASP.NET 核心 WebApp 项目
- 在名为
Store
的页面下创建一个文件夹
- 在名为
Index
的文件夹下创建一个 razor 页面
- 更新
_Layout
页面以指向 asp-page="/Store"
- 尝试 运行 应用程序并单击导航 link 发现它不会加载页面
- 将 link 更新为
asp-page="/Store/Index"
和 运行 应用以查看 link 现在已正确路由
我是不是完全漏掉了什么?
asp-page
属性需要页面名称。它不是 URL。由于该页面名为 Index,因此您需要将其包含在内。页面的“名称”基本上是其以页面为根的相对路径,减去文件扩展名。但需要注意的重要部分是,在尝试 link 到名为 Index.
的文件时,必须包含“Index”
这可能是一个愚蠢的问题,但我似乎无法获得 Razor Pages 项目来正确定位放置在子文件夹中的索引文件。
基于对 razor 页面的介绍:https://docs.microsoft.com/en-us/aspnet/core/razor-pages/?view=aspnetcore-5.0&tabs=visual-studio
以下结构有效。
File name and path matching URL
/Pages/Index.cshtml / or /Index
/Pages/Contact.cshtml /Contact
/Pages/Store/Contact.cshtml /Store/Contact
/Pages/Store/Index.cshtml /Store or /Store/Index
列出的最后一项是我遇到的问题。似乎如果我尝试指定 /Store
它将无法找到正确的页面。如果我指定 /Store/Index
它会起作用..
以下是复制方法。
- 使用 RazorPages 创建 ASP.NET 核心 WebApp 项目
- 在名为
Store
的页面下创建一个文件夹
- 在名为
Index
的文件夹下创建一个 razor 页面
- 更新
_Layout
页面以指向asp-page="/Store"
- 尝试 运行 应用程序并单击导航 link 发现它不会加载页面
- 将 link 更新为
asp-page="/Store/Index"
和 运行 应用以查看 link 现在已正确路由
我是不是完全漏掉了什么?
asp-page
属性需要页面名称。它不是 URL。由于该页面名为 Index,因此您需要将其包含在内。页面的“名称”基本上是其以页面为根的相对路径,减去文件扩展名。但需要注意的重要部分是,在尝试 link 到名为 Index.