Dies ist mein erstes C # / MVC-Projekt und ich habe Probleme, mich an ein Modell zu binden. Ich habe einen Beitrag von Phil Haack gelesen und habe EditorFor verwendet für alle meine Teilansichten. Brauche ich ein benutzerdefiniertes Model Binder? Bitte helfen Sie
Kurz gesagt, ich habe eine Liste von Wochen, die eine Liste von Einträgen enthalten. Diese Einträge enthalten eine Liste von Stunden
Aktion:
%Vor%Modell:
%Vor%Ansichten (Index)
%Vor%Ansichten (TimesheetWeek)
%Vor%Ansicht (Stundenanzeige)
%Vor%Model zeigt alle Daten korrekt an und die ausgegebenen Formulardaten sind wie folgt:
%Vor%Ich dachte, ich hätte die Indizierung richtig gemacht, aber momentan bekomme ich eine leere Oneweek in der Aktion. Was mache ich falsch? Jede Hilfe wird geschätzt. (Einige Wiederholungen und HTML wurde entfernt)
Deine Präfixe sind falsch. Zum Beispiel:
%Vor%sollte sein:
%Vor% Sie haben einen zusätzlichen Punkt ( .
). Lesen Sie Phil Haacks Artikel noch einmal für die korrekte Syntax beim Binden mit Listen.
Sie haben das gleiche Problem mit dem gethours.[0]
-Teil.
Ich würde Ihnen empfehlen, die Standardkonventionen für Editor-Templates zu verwenden und es zu vermeiden, irgendwelche foreach-Schleifen zu schreiben und mit Indizes umzugehen:
~/Views/Home/Index.cshtml:
~/Views/Home/EditorTemplates/WeekCollection.cshtml
:
~/Views/Home/EditorTemplates/Entry.cshtml
:
Tags und Links asp.net-mvc c# model-binding