Коллекции моделей MVC / Razor, когда элемент отсутствует

У меня есть форма, которая содержит список переменных списка текстовых ящиков, Оказано, используя шаблон, похожий на это ..

 @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, чтобы повторно индексировать все, если это возможно.

Спасибо!

7
задан tereško 29 April 2013 в 21:50
поделиться