当传入的请求以 404 结尾时,如何知道 id 的值?

How to know the value of id when the incoming request ends with 404?

为了便于说明,我举个简单的例子如下。

Review.cshtml.cs:

public class ReviewModel : PageModel
{
    public void OnGet(int? id)
    {
        if (id == null)
            ViewData["X"] = "null";
        else
            ViewData["X"] = id;
    }
}

Review.cshtml:

@page 

@model ReviewModel

<!DOCTYPE html>
<html>
<body>
    X = @ViewData["X"]
</body>
</html>

当我导航到

我尝试使用 Visual Studio 调试器来计算抛出 404 页但我无法进入的 id 的值。

当传入请求以404结尾时,如何知道id的值?

我认为这与路由有关,您应该可以在 Startup.cs:

中使用类似这样的内容来创建自己的路由
options.Conventions.AddPageRoute("/Review", "Review/{id?}");

https://docs.microsoft.com/en-us/aspnet/core/mvc/razor-pages/razor-pages-convention-features