Как получить все элементы списка выбора на странице бритвы? - PullRequest
0 голосов
/ 17 февраля 2020

У меня есть список выбора:

[BindProperty]
public List<SelectListItem> FooList { get; set; }

Затем создается список как пустой список, и страница бритвы загружается. Затем список заполняется пользователем на стороне клиента с помощью jquery. Сервер не знает элементов в списке, пока форма не опубликована. Пока все хорошо.

На странице я использую помощники тегов select, например, так ...

   <select asp-for="FooList" multiple="multiple" asp-items="FooList" class="form-control form">

Мне интересно, как я могу получить все элементы в множественном числе? selectlist «список» (независимо от того, выбраны они или нет) OnPost с помощью привязки модели?

Я использую бритвенные страницы 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();
    }

Я знаю, что это должно быть что-то простое, просто нужен набор глаз sh, чтобы направить меня в правильном направлении. Спасибо!

1 Ответ

0 голосов
/ 17 февраля 2020

Мне интересно, как я могу получить все элементы в «списке» множественного списка выбора (независимо от того, выбраны они или нет) OnPost с помощью привязки модели?

Вы можете ' т. Размещаются только значения выбранных элементов, которые могут участвовать в привязке модели. Если вы хотите получить выбранные элементы в списке множественного выбора, вам необходимо привязать их к коллекции. Ваш атрибут asp-for должен ссылаться на имя коллекции, к которой вы привязываете опубликованные значения. Вы не должны иметь [BindProprty] для типа List<SelectListItem>. Они представляют только элементы, которые заполняют список выбора.

Подробнее об основах списков выбора на страницах бритвы можно узнать здесь .

...