У меня есть форма, которая содержит список переменных списка текстовых ящиков, Оказано, используя шаблон, похожий на это ..
@Html.TextBox("items[" + itemIndex + "].Title", someValue)
Так что окончательный оказываемый HTML выглядит что-то подобное ...
<input id="items_0__Amount" type="text" value="Apple" name="items[0].Title">
<input id="items_1__Amount" type="text" value="Banana" name="items[1].Title">
<input id="items_2__Amount" type="text" value="Orange" name="items[2].Title">
на представлении формы это связывается с моей моделью просто отлично. Однако у меня есть кнопка удаления, которая использует JavaScript для удаления одного или нескольких строк из формы. Проблема в том, что, если вы удалите, скажем, средний ряд, HTML выглядит так ...
<input id="items_0__Amount" type="text" value="Apple" name="items[0].Title">
<input id="items_2__Amount" type="text" value="Orange" name="items[2].Title">
... и индексы больше не являются смежными. Похоже, это путает MVC, а мою модель Binder только передает первый ряд, а не последний. Я сделал что-то не так, или MVC просто не удается, если индексы в списках не смеются? Какое лучшее решение этой проблемы?
Я хочу избежать использования JS, чтобы повторно индексировать все, если это возможно.
Спасибо!