Verwenden von Html.EditorFor, um ein Leerzeichen für neue Datensätze zu erstellen

8

Die Verwendung des EditorFor Templates ist eine wirklich nette Eigenschaft von ASP.Net MVC 3, aber ist es möglich, EditorFor zu bekommen, um eine unbestückte Vorlage zu rendern, um die Erstellung von Datensätzen zu ermöglichen?

Oder gibt es einen anderen Weg, dies zu tun?

Ich versuche dies folgendermaßen:

%Vor%

Der erste funktioniert offensichtlich, aber die folgenden (die demonstrieren, was ich versuche) scheitern alle mit dem folgenden Fehler:

%Vor%

Das fragliche Modell ist:

%Vor%     
Moo 26.02.2012, 14:47
quelle

2 Antworten

6

Es liegt in der Verantwortung des Controllers, das View-Modell vorzubereiten, das an die View übergeben wird. Wenn Sie zum Beispiel Ihr Ansichtsmodell mit 5 leeren Kontaktreihen initialisieren möchten, können Sie dies einfach in Ihrem Controller tun:

%Vor%

und in Ihrer Sicht verwenden Sie den EditorFor Helfer wie gewohnt:

%Vor%

Dadurch wird die entsprechende Editor-Vorlage für jedes der 5 Elemente angezeigt, die wir der Contacts Sammlung hinzugefügt haben.

    
Darin Dimitrov 27.02.2012, 07:12
quelle
0

Wenn Ihre Frage nicht AJAX betrifft, würde ich das ViewModel folgendermaßen gestalten:

%Vor%

Dann können Sie einfach einen leeren Editor hinzufügen, der an die NewRow-Eigenschaft gebunden ist. Und in der Steuerung fügen Sie die NewRow Zeilen zu nachfolgenden Aufrufen hinzu.

    
Pein 26.02.2012 16:31
quelle

Tags und Links