簡體   English   中英

如何將參數傳遞給 RazorPage OnGet()?

[英]How do I pass a parameter to RazorPage OnGet()?

使用剃刀頁面我正在嘗試建立一個用於銷售服裝的電子商務網站,我想使用一次頁面作為模板來加載男士和女士頁面。 為了測試這可以在我的_Layout.cshtml頁面中完成,我使用<a asp-page="/Shop" asp-route-id="Mens" class="nav-link">Mens</a>然后在:

商店.cshtml.cs

    [BindProperties]
public class ShopModel : PageModel
{
    public string Status { get; set; }
    public void OnGet(string gender)
    {
        switch (gender)
        {
            case "Mens":
                //get men page
                Status = gender;
                break;
            case "Womens":
                //get womens page
                break;
        }
    }
}

商店.cshtml

@page
@model ECommerce.Pages.Shop.ShopModel
@{
    ViewData["Title"] = "Shop";
}
<p>
    @Model.Status
</p>

當我調試時,性別的值顯示為null ,因此永遠不會設置狀態。 我會以錯誤的方式解決這個問題嗎? 非常感謝任何幫助,謝謝!

參數名稱是gender ,而不是id ,所以應該是

<a asp-page="/Shop" asp-route-gender="Mens" class="nav-link">Mens</a>

查看更多關於錨標簽助手的路由值

如果您要使用 OnGet 以外的其他方法,例如 OngetView,則必須將 Ver

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM