2 Stimmen

Dynamische Tabellenzeile wird über Jquery-Ajax-Aufruf nicht aktualisiert

Mit ein bisschen ein haariges Problem bei der Übermittlung von Daten über einen Jquery Ajax-Aufruf. Im Grunde, Formularwerte von Formularfeldern, die wurden dynamisch hinzugefügt auf dem Bildschirm in ein röhrenförmiges Gitter mit Jquery werden bei einem Batch-Speicherbefehl nicht aktualisiert.

Im Grunde habe ich eine Gitterauflistung, die alle aktuellen Zeilen anzeigt, die in der Datenbank gespeichert sind, wobei jede Spalte Formularfelder enthält. Oben auf der Seite habe ich dann ein Formular, das typisch ist für ein weiteres hinzufügen Detailformular. Sie geben Ihre Werte ein und klicken auf "Hinzufügen". Dies wird in der Datenbank über einen Jquery-Json-Ajax-Aufruf gespeichert, und Ihre Formulardaten werden hinzugefügt und in einer neuen Zeile in der Listing-Tabelle angezeigt. (dieser Teil funktioniert)

Mein Problem liegt darin, dass Sie die Formularwerte ändern möchten innerhalb der neu hinzugefügten jquery-Tabellenzeile . Wenn Sie auf die Schaltfläche Speichern klicken, werden nur die bereits erstellten Tabellenzeilen erneut gespeichert. Ihre dynamischen Zeilendaten werden no retten. Der Update-Aufruf verwendet Jquery Ajax und ASP.NET MVC-Modellbindung. Auf der "hinzufügen" Ich bin eine asp.net MVC "partielle Ansicht" zu meiner Jquery Ajax-Antwort zurück und es wird zu einem Grid-Listing-Tabelle mit hinzugefügt $("#tablename tr:last").after(result) .

Was ich bereits abgeleitet habe, ist, wie gesagt, die neue dynamisch hinzugefügte Zeile wird nicht aktualisiert. Ich habe eine IList<Item> Set, das in meiner MVC-Modellbindungsliste an meine Controller-Aktionsmethode zurückgegeben wird, die die gesamte Liste der Elemente enthält, abzüglich der neu erstellten dynamisch hinzugefügten Jquery-Formfeldzeilen. Dies ist das Problem und warum, wenn Sie eine Seite aktualisieren, die Zeilen sind zurück zu der Original Formularwerte, die beim ersten Hinzufügen eingegeben wurden.

Irgendwelche Ideen, warum mein IList<Item> diese dynamisch hinzugefügten Zeilen nicht enthalten würde? Inspektion in Firebug verwenden sie die gleiche Benennung Konvention in ihrem Name-Attribut und alles sollte in Ordnung sein.

Graham.

Update 1. Mai 11:00 GMT+10: Ich erhalte die Werte, wenn ich die Modellbindung von IList zu FormCollection ändere. Ich möchte nicht FormCollection statt Model Binding verwenden, aber es stellt sich die Frage, wenn ich es richtig durch FormCol bekommen kann, warum nicht IList Model Binder? Ich habe den Array-Eintrag mit einem funktionierenden Element verglichen, und sie alle passen die gleichen Kriterien und Werte.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X