Я использую диалоговое окно модального редактора, чтобы пользователь мог изменить список адресов клиентов.Когда клиент хочет добавить или удалить адрес, я обрабатываю его с помощью JQuery, используя запрос AJAX.Несмотря на то, что код в основном вырезан и вставлен с небольшими изменениями, моя функция addAddr()
работает, как и ожидалось (контроллер получает список адресов), а моя функция delAddr()
не работает (контроллер получает список содин адрес, несмотря на то, что модель содержит несколько адресов.) Кто-нибудь может увидеть ошибку в следующем коде?
Действия контроллера:
[HttpPost]
public async Task<IActionResult> AddCustomerAddress(List<CustomerAddress> Model)
{
var newAddr = new CustomerAddress
{
CustomerID = Model[0].CustomerID,
IsActive = true,
IsPrimary = true
};
await _dbService.InsertCustomerAddressAsync(newAddr);
return RedirectToAction(nameof(EditCustomerAddresses), new { Model[0].CustomerID });
}
[HttpPost]
public async Task<IActionResult> DeleteCustomerAddress(List<CustomerAddress> Model, [FromQuery]int Index)
{
await _dbService.DeleteCustomerAddressAsync(Model[Index]);
return RedirectToAction(nameof(EditCustomerAddresses), new { Model[0].CustomerID });
}
JQuery:
function addAddr() {
var model = $('form#addr-editor').serialize();
$.post('/Customer/AddCustomerAddress',
model,
function (data, status, jqXHR) {
$('#modal-container').html(data);
$.notify('New Address Activated - Save Changes After Editing', { position: "top-center" });
}
).fail(function () {
$.notify('Error adding Address.', { position: "top center" });
});
}
function delAddr(index) {
var model = $('form#addr-editor').serialize();
$.post('/Customer/DeleteCustomerAddress?Index=' + index,
model,
function (data, status, jqXHR) {
$('#modal-container').html(data);
$.notify('Address Deleted Successfully', { position: "top center" });
}
).fail(function () {
$.notify('Error Deleting Address.', { position: "top center" });
});
}
Моя тестовая запись имеет шесть адресов.Действие Add получает List<CustomerAddress>
с Count = 6
.Действие Delete получает индекс правильно, но получает модель как List<CustomerAddress>
с Count = 1
.Единственное различие, о котором я знаю, - это включение дополнительного параметра в строку запроса.Мое желаемое поведение для обоих действий контроллера, чтобы получить список из 6 адресов.Любая помощь приветствуется!