如何获取剃须刀页面中的所有选择列表项?

时间:2020-02-17 04:10:53

标签: razor-pages selectlist

我有一个选择列表:

[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();
    }

我知道这一定很简单,只需要新鲜的眼睛将我指向正确的方向即可。谢谢!

1 个答案:

答案 0 :(得分:0)

我想知道如何检索多个选择列表中的所有项目 使用模型的“列表框”(无论是否选中) 绑定?

不能。只有所选项目的值才会过帐,并且可以参与模型绑定。如果要在多重选择列表中获取选定的项目,则需要将它们绑定到集合。您的asp-for属性应引用要将发布值绑定到的集合的名称。您不应该在[BindProprty]类型上使用List<SelectListItem>。它们仅代表填充选择列表的项目。

您可以找到有关the basics of Select Lists in Razor Pages here的更多信息。

相关问题