Я нашел ошибку. Это не зависит от моего элемента ListBoxFor, это было вызвано кодом js, который я написал для отправки на сервер действия моей формы с дополнительными данными.
В основном это было похоже:
data: function (d) {
var fd = new FormData(myForm[0]);
for (var pair of fd.entries()) {
d[pair[0]] = pair[1];
}
return d;
}
Я понял, что множественные значения, которые публикуются как две записи (пары ключ / значение) в FormData, но с одинаковым именем ключа, поэтому мой код перезаписывал первую запись второй. Я заменил приведенный выше код, и теперь он работает как шарм.
data: function (d) {
var fd = new FormData(myForm[0]);
for (var pair of fd.entries()) {
var occurenceOfKey = Array.from(fd.keys()).reduce(function (n, val) {
return n + (val === pair[0]);
}, 0);
if (occurenceOfKey > 1)
d[pair[0]] = fd.getAll(pair[0]);
else
d[pair[0]] = pair[1];
}
return d;
}