У меня проблемы с тем, чтобы мои 2 списка работали так, как мне нужно. Я использую asp.net MVC5. У меня есть 2 списка выбора с несколькими вариантами выбора (и несколько других элементов управления) в модальной форме.
Список содержит 1 элемент, который доступен для выбора, пользователь выбирает один или несколько элементов в списке и нажимает кнопку«переместить» их в Listbox2.
При нажатии кнопки я отправляю всю форму через Ajax и «перемещаю» элементы в методе. Теперь Listbox2 должен содержать элементы, выбранные пользователем, а список Listbox1 должен содержать элементы, которые пользователь не выбрал.
Метод в порядке, так как я могу перемещать данные в базе данных, моя проблема заключается в том, какполучите списки, чтобы потом показывать правильные данные.
Это свойства модели, которые я должен передать спискам: -
List<Int64> List1
List<SelectListItem> List1Items
List<Int64> List2
List<SelectListItem> List2Items
В каждом случае есть список для хранения выбранных элементов. и список для отображения ListBoxFor.
Списки настроены следующим образом: -
@Html.ListBoxFor(i => Model.List1, Model.List1Items)
@Html.ListBoxFor(i => Model.List2, Model.List2Items)
Я заметил, что при отправке формы List1Items и List2Items не передаются вконтроллер. Это не имеет большого значения, так как я могу разобрать их в методе и передать обратно.
Мне нужно знать, как обновить 2 списка, используя jquery, когда модель передается обратно в функцию Ajax,ниже: -
$.ajax
({
url: '@Url.Action("MoveItems", "MyController")',
method: 'POST',
cache: false,
data: $("#MyForm").serialize(),
success: function (retValue) {
if (retValue.Result === "Success") {
// What do I need here ?
// Model is passed back as 'retValue.Data'
alert(retValue.SuccessMessage);
}
else if (retValue.Result === "Error") {
alert(retValue.ErrorMessage);
}
},
failure: function () {
alert('Unknown Server Error');
}
});
Надеясь, что кто-то может указать мне правильное направление.