2011-07-06 15 views
5

Mam za zadanie zadanie utworzenia formularza, który pozwala użytkownikowi dodać jedną lub więcej grup odpowiedzi. Na przykład dokonają wyboru z rozwijanego menu, które następnie doda do formularza kolejny zestaw danych wejściowych. Mogą powtarzać ten proces X liczbę razy.ASP.NET MVC3: Czy możesz publikować i wiązać tablicę obiektów?

Jaki jest najlepszy sposób na obsługę tego pod względem przetwarzania na serwerze?

Rozumiem, że mógłbym powiązać każdy element z listą, a następnie przeglądać każdą listę, wiedząc, że każda wartość na każdej liście jest "połączona" według indeksu.

Ale czy jest lepszy sposób? Mam nadzieję, że to ma sens. Nie mam jeszcze przykładowego kodu.

+0

Czy starasz się zrobić tę pracę bez wysyłania do serwera dla każdej odpowiedzi? czy jesteś otwarty na to podejście? Myślę, że aby zacząć najprostsze, najbardziej bezpośrednie podejście będzie najlepsze. Mogę również pokazać, gdzie dane są publikowane w JS. –

+0

Nie jestem przeciwny wysyłaniu wiadomości na serwer, ale ogólnie mój interfejs jest dość złożony, ponieważ korzystam z jQuery Mobile. Nadal staram się zrozumieć to wszystko tbh – Sergio

Odpowiedz

2
+0

Wiele dobrych informacji tam. Może zająć mi trochę czasu na trawienie. Rozwiązania nie są tak proste, jak to nazwałbym, ale wydaje mi się, że "dynamiczne" formy nie są proste ze względu na ich charakter. – Sergio

3

Spójrz na Phil Haack's great article o powiązaniu modelu z listą w mvc. Jeśli dynamicznie dodawane ..

inny zestaw wejść

..is zwróconych z ajax wezwanie do sterownika, można użyć w połączeniu z HtmlFieldPrefix Property i wygenerować pożądany zestaw wejść z indeksowanej nazwy. Następnie MVC automatycznie powiąza twoje wartości, jak wyjaśniono w poście.

+0

Ta odpowiedź jest nieco bardziej oczywista, jak używać 'TemplateInfo.HtmlFieldPrefix' :: http://stackoverflow.com/a/6617869/237723 – JoeBrockhaus