问题很简单,但我找不到解决方案,因为我还是新手.net核心
我有这段代码
[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 Method中,一切正常,但在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个小时。
答案 0 :(得分:1)
要获取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中获取它们。