Подтвердить что ты не робот

Выпадающее меню ASP.NET MVC

Я использую следующий код, чтобы пользователь мог выбрать несколько мест в форме.

@Html.DropDownListFor(m => m.location_code, Model.location_type, new { @class = "form-control", @multiple = "multiple" }).

location_code - это List<int>, а location_type - List<SelectListItem>, заполненный данными.

Код возвращает мне выбранные значения в контроллере, но когда пользователь нажимает кнопку редактирования, переданный объект не отображает выбранные значения, а вместо этого показывает нормальный инициализированный выпадающий список ничем не выбранным.

То, что я действительно хочу, это то, что после отправки пользователем формы (включая несколько выбранных значений) она переходит на страницу, где пользователь подтверждает правильность данных. Если он не нажимает кнопку редактирования, а объект снова передается контроллеру. В этой фазе должно отображаться несколько выбранных значений. Другие поля ведут себя правильно.

Любое понимание этого?

4b9b3361

Ответ 1

На ваш взгляд:

@Html.ListBoxFor(m => m.location_code, Model.location_type)

Это все, что вам нужно. Вы используете элемент управления ListBox, чтобы он уже представлял список с несколькими выборами.

Затем в вашем контроллере вы можете получить выбранные элементы следующим образом:

[HttpPost]
public string SaveResults(List<int> location_code)
{

    if (location_code!= null)
    {
        return string.Join(",", location_code);
    }
    else
    {
        return "No values are selected";
    }
}