В основном у меня есть форма, в которой я добавляю и удаляю элементы и связываю их со списком, используя привязку модели.Это прекрасно работает с изменением полей и добавлением новых элементов, но когда я пытаюсь удалить их, я разбиваю индекс, а список, который связан, включает не все элементы.
Разметка, которую я создаю, выглядит примерно так:
<table>
<tbody>
<tr>
<input type="text" name="devices[0].id" value="8574" />
<input type="text" name="devices[0].type" value="Type1" />
</tr>
<tr>
<input type="text" name="devices[1].id" value="4385" />
<input type="text" name="devices[1].type" value="Type2" />
</tr>
<tr>
<input type="text" name="devices[2].id" value="9486" />
<input type="text" name="devices[2].type" value="Type1" />
</tr>
...
</tbody>
</table>
и моя модель привязки выглядит так:
public IActionResult OnPostSave(List<Device> devices){
// ... do something
}
теперь я позволяю пользователю манипулироватьданные формы, просто удаляя строки из таблицы с помощью javascript, а затем отправляя обновленную форму на мой OnPostSave()
.Теперь, когда, например, строка с идентификатором «4385» удалена, все элементы после этой строки не будут связаны.Что касается этой записи от Скотта Хансельмана, это абсолютно имеет смысл, но мне интересно, есть ли способ обойти это?Желательно без изменения формы в js перед отправкой на сервер.
Заранее спасибо!