我有一个选择列表:
[BindProperty]
public List<SelectListItem> FooList { get; set; }
然后将该列表实例化为一个空列表,并加载剃须刀页面。然后,客户端上的用户使用jquery填充该列表。在发布表单之前,服务器不知道列表中的项目。到目前为止,一切都很好。
在页面中,我正在使用选择标签助手,例如...
<select asp-for="FooList" multiple="multiple" asp-items="FooList" class="form-control form">
我想知道如何使用模型绑定来检索多个选择列表“列表框”(无论是否选中)中的所有项目?
我正在使用2.2版剃须刀,而且我真的很难弄清楚这一点。
public IActionResult OnPost()
{
// not sure how to get the selectlist and all of its items?
foreach (var item in FooList)
{
// do stuff with the items
}
return Page();
}
我知道这一定很简单,只需要新鲜的眼睛将我指向正确的方向即可。谢谢!
答案 0 :(得分:0)
我想知道如何检索多个选择列表中的所有项目 使用模型的“列表框”(无论是否选中) 绑定?
不能。只有所选项目的值才会过帐,并且可以参与模型绑定。如果要在多重选择列表中获取选定的项目,则需要将它们绑定到集合。您的asp-for
属性应引用要将发布值绑定到的集合的名称。您不应该在[BindProprty]
类型上使用List<SelectListItem>
。它们仅代表填充选择列表的项目。
您可以找到有关the basics of Select Lists in Razor Pages here的更多信息。