2017-10-03 2 views
-2

Ich habe eine Ansicht, die für die Eingabe einer großen Menge von Daten in eine Datenbank verwendet wird, von denen die Mehrheit vom Typ List<List<string>> ist.MVC-HTML-Formular - einige Informationen nicht an Controller

Wenn ich das Formular abgesendet haben, werden die Daten alle da, oder zumindest zeigt es, wenn im Browser die Post-Daten zu analysieren:

enter image description here

Die Fragen [] [] Felder sind die List<List<string>> Daten .

Aber auf der Steuerungsseite geht diese Daten machen es nicht durch:

enter image description here

So der Fehler Ich erhalte eine ‚Nullreferenceexception‘, wenn es versucht, Werte in die Datenbank zu übertragen.

Problem ist, ich habe keine Ahnung, an welchem ​​Punkt die Formulardaten nicht an den Controller übergeben werden.

Noch schlimmer ist, dass es vorher funktioniert hat, so ist der Fehler sicherlich ein kleiner Tippfehler in meinem Code. Ich weiß nur nicht, bestimmten Teil, das soll ich in suchen

Die Frage Eingänge in der Ansicht sind wie folgt:.

enter image description here

zu vergleichen, die Eingänge für andere Daten, die tun erfolgreich an die Steuerung übergeben, sind wie folgt aus:

enter image description here

so kann ich keine großen Fehler in der Art und Weise sehe ich das bin vorbei Daten über.

Das Ansichtsmodell sieht wie folgt aus:

enter image description here

und an die View wie folgt geführt:

enter image description here

so die Daten alle richtig so weit initialisiert ist, wie ich kann sagen.

Wo sonst sollte ich nach Fehlern suchen? Diese ganze Konfiguration funktionierte vorher gut, bis ich ein paar Dinge in der Ansicht änderte und der Datenbank ein neues Feld hinzufügte.

Das Datenbankmodell sieht wie folgt aus:

enter image description here

Ich habe keine Ahnung, wo sonst zu suchen.

Jede Hilfe sehr geschätzt, danke.

+0

Verwenden Sie Ajax? –

+0

Nein, nur ein Standard '@ using (Html.BeginForm())'. –

+0

Fügen Sie Ihren Code ein, keine Bilder davon. –

Antwort

0

Problem gelöst.

Ich hatte einige Werte, die ich nicht im Formular ausfüllen wollte, also habe ich sie nicht in die Ansichtsseite aufgenommen.

Es stellte sich heraus, dass ich diese als @ html.HiddenFor() einschließen musste, damit das Modell immer noch einen Wert für alles nehmen kann, was es enthält.

Verwandte Themen