ASP.NET Core Razor Pages 是一种用于构建 Web 应用程序的框架,它提供了一种简单的方式来创建动态网页。Razor Pages 终结点路由是指如何处理 URL 中的请求并将其映射到相应的页面或操作。
在 ASP.NET Core 中,Razor Pages 使用终结点路由来处理 HTTP 请求。每个 Razor Page 都有一个关联的路由模板,该模板定义了如何将 URL 映射到页面。默认情况下,Razor Pages 的路由模板是 {page}.cshtml
,其中 {page}
是页面的名称。
Razor Pages 的路由可以分为两种类型:
Razor Pages 适用于各种 Web 应用程序,特别是那些需要快速开发和迭代的项目。它特别适合于小型到中型的应用程序,以及那些不需要复杂路由逻辑的场景。
这通常是因为 Razor Pages 的路由配置不正确,或者请求的路径与任何页面的路由模板都不匹配。
About.cshtml
的页面,它的路由模板应该是 {page}.cshtml
。About.cshtml
的页面,你应该访问 /About
而不是 /About/Details
。假设你有一个名为 About.cshtml
的页面,并且你想处理 URL 中 /About
之后的所有路径,你可以这样做:
// 在 Startup.cs 或 Program.cs 中配置路由
app.UseRouting();
app.UseEndpoints(endpoints =>
{
endpoints.MapRazorPages();
});
// 在 About.cshtml.cs 页面模型中处理额外的路径参数
public class AboutModel : PageModel
{
public void OnGet(string path)
{
// 处理路径参数
ViewData["Path"] = path;
}
}
<!-- 在 About.cshtml 视图中显示路径参数 -->
<p>Requested path: @ViewData["Path"]</p>
通过以上配置和代码示例,你应该能够正确处理 URL 中页面名称之后的所有路径。
领取专属 10元无门槛券
手把手带您无忧上云