代码之家  ›  专栏  ›  技术社区  ›  Intellectual Gymnastics Lover

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

  •  0
  • Intellectual Gymnastics Lover  · 技术社区  · 6 年前

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

    回顾cshtml。反恐精英:

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

    回顾cshtml:

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

    当我导航到

    • localhost/Review/1 --------------- 404.
    • localhost/Review/xyz --------------- 404.
    • localhost/Review/ --------------- X=null .

    • localhost/Review?id=1 --------------- X=1 .

    • localhost/Review?id= --------------- X=空 .
    • localhost/Review?id=xyz --------------- X=空 .

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

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

    1 回复  |  直到 6 年前
        1
  •  3
  •   Verendus    6 年前

    我认为这与路线有关,你应该能够在创业公司中使用类似的东西来创建自己的路线。反恐精英:

    options.Conventions.AddPageRoute("/Review", "Review/{id?}");
    

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