如何将参数传递给RazorPage OnGet()? [英] How do I pass a parameter to RazorPage OnGet()?

查看:0
本文介绍了如何将参数传递给RazorPage OnGet()?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

使用剃须刀页面我正在尝试建立一个销售服装的电子商务网站,我想使用ONCE页面作为模板来加载男性和女性页面。要测试这一点,可以在_Layout.cshtml页面中使用<a asp-page="/Shop" asp-route-id="Mens" class="nav-link">Mens</a>,然后在:

中进行

Shop.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;
        }
    }
}

Shop.cshtml

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

在我调试时,性别的值显示为,因此从不设置状态。我是不是走错了路?非常感谢您的帮助,谢谢!

推荐答案

参数名称为gender,不是id,因此应为

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

查看有关anchor tag helper's route value的更多信息。

这篇关于如何将参数传递给RazorPage OnGet()?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆