ASP.NET Core Razor 页面路由导致 http 404 错误

问题描述 投票:0回答:1

我正在使用 ASP.NET Core Razor 页面,并且此指令位于我的 Blog.cshtml 顶部

@page "/blog/{category?}/page/{pageNo?}"

现在我希望这些路线都与上面的匹配:

/blog 

-> 类似于说category为null默认添加page并且pageNo为null

/blog/aspnet 

-> 就像说类别是

aspnet
默认添加页面而pageNo为null

/blog/page/1 

-> 这就像说类别为空页面存在且 pageNo 为 1

/blog/aspnet/page/1 

-> 这就像说类别是 aspnet 页面并且 pageNo 是 1

我必须做出哪些改变?

我尝试使用

AddPageRoute
但以下不起作用:

// Add services to the container.
builder.Services.AddRazorPages().AddRazorPagesOptions(options => {

    options.Conventions.AddPageRoute("/blog", "blog/{category?}/page/{pageNo?}");    
});

如有任何帮助,我们将不胜感激。谢谢你。

c# asp.net-core razor-pages
1个回答
0
投票

确保您的博客页面位于

Pages
文件夹(
/Pages/Blog.cshtml
)中。

如果您在

Blog.cshtml
顶部有此指令:

@page "/blog/{category?}/page/{pageNo?}"

请务必使用

AddPageRoute
,如下所示:

builder.Services.AddRazorPages().AddRazorPagesOptions(options => {
    options.Conventions.AddPageRoute("/blog", "blog/{category?}");
    options.Conventions.AddPageRoute("/blog", "blog/{category?}/page");
    options.Conventions.AddPageRoute("/blog", "blog/page/{pageNo?}");  
});
© www.soinside.com 2019 - 2024. All rights reserved.