Przekazywanie danych do kontrolera - jquery

0

Witam,
Moim problemem jest przekazanie danych do kontrolera, ponieważ poprzez jquery dodaje sobie dodatkowe pola, którym przypisuje nazwy np.: test[0] test[1] test[2]
w ten sposób to wszystko działa, ale jeśli usunę pole np. test[1] to po przekazaniu danych odczytuje tylko test[0], test[2] - już nie jest dostarczany

w czym może być problem?

pole:
<input type="text" class="form-control col-md-5" data-val="false" data-val-required="Field is required." name="Value" placeholder="Value" />
później w jquery zmieniam nazwę i ustawiam walidację

następnie przekazuje dane poprzez ViewModel:

 public List<Test> test{ get; set; }
    public class Test
    {
        [Required]
        public string Value{ get; set; }
    } 

po zmianie nazwy wygląda ona tak:
Test[3].Field

no i kontroler:

 public ActionResult Home(HomeViewModel vm)

do vm przyjmuje dane poprawnie jeśli jest spełniony wyżej opisany warunek a jeśli nie to niestety działa niepoprawnie.

Proszę o rady, w czym jest problem.

0

Z tego co pamiętam MVC tak ma - przysyłane indeksy muszą być ciągłe. Jeśli coś usuwasz, to musisz ponownie wygenerować nazwy elementów listy.

0

Robiłem jakiś czas temu coś podobnego i poradziłem sobie z tym, ale za nic nie mogę sobie przypomnieć w jaki sposób. Na pewno nie generowałem nazw ponownie.

0

Załaduj stosowne wartości bezpośrednio z Request.Form, albo zrób zaślepkę z input hidden tak jak to pokazano w http://stackoverflow.com/questions/8598214/mvc3-non-sequential-indices-and-defaultmodelbinder.

0

A poza tym jest jakieś rozwiązanie? Może ktoś się z czymś takim spotkał? "Non-Sequential Indices"

0

Masz już trzy rozwiązania + sam znalazłeś hasło, pod którym możesz dalej kopać na google. W czym problem?

1 użytkowników online, w tym zalogowanych: 0, gości: 1