在 POST 方法中的 Get 方法中设置的访问值

Access value that was set in Get method in the POST method

问题很简单,但我还是.net core的新手,找不到解决方案

我有这个代码

[BindProperty]
    public string Feedback { get; set; }
    [BindProperty]
    public List<int> IDList { get; set; }

    public void OnGet(string SB, List<int> IDs)
    {
        Feedback = SB;
        IDList = IDs;
    }

    public IActionResult OnPost()
    {
        return RedirectToPage("./InviteGroup", new { id = this.IDList });
    }

在 Get 方法中一切正常,但在 POST 中 IDList 为空 这是我的 HTML

<h2>Feedback</h2>
<form id="frm3" method="post">
<input type="hidden" asp-for="@Model.IDList" />
<div>@Html.Raw(Model.Feedback)</div>

我尝试添加隐藏输入,但没有任何改变。 请帮忙,我已经尝试解决这个问题 3 个小时了。

为了在 Get 方法中获取值,您将值作为 Url 的一部分传递。这意味着您可以使用与在 Get 方法中相同的方法在 Post 方法中访问此值。

[BindProperty]
public string Feedback { get; set; }
[BindProperty]
public List<int> IDList { get; set; }

public void OnGet(string SB, List<int> IDs)
{
    Feedback = SB;
    IDList = IDs;
}

public IActionResult OnPost(string SB, List<int> IDs)  
{
    Feedback = SB;
    IDList = IDs;

    return RedirectToPage("./InviteGroup", new { id = this.IDList });
}

如果您在 Get 方法中获取值,那么您也会在 Post 中获取它们。