Daten zu veröffentlichen, wenn mein Ansichtsmodell einen Konstruktor hat, funktioniert nicht

8

Ich habe den folgenden Code:

%Vor%

Es funktioniert gut: Wenn das Bearbeitungsformular gepostet wird, habe ich den Action Controller, der angerufen wird.

Jetzt ändere ich ein bisschen meinen Code wie folgt:

%Vor%

In dieser neuen Version habe ich ein Ansichtsmodell mit einem Konstruktor.

Dieses Mal, wenn mein Formular zurückgeschickt wird, wird der Action Controller niemals ausgelöst.

Irgendeine Idee?

Danke.

    
Bronzato 23.02.2012, 12:44
quelle

1 Antwort

12

Das ist normal. Das Standardmodellbinder kann Ihr Ansichtsmodell nicht mehr instanziieren, da es keinen parameterlosen Konstruktor hat. Sie müssen einen benutzerdefinierten Modellordner schreiben, wenn Sie Ansichtsmodelle verwenden möchten, die keinen Standardkonstruktor haben.

Normalerweise benötigen Sie keinen solchen benutzerdefinierten Konstruktor. Sie könnten Ihr View-Modell einfach so haben:

%Vor%

und die POST-Aktion so:

%Vor%

und jetzt müssen Sie nur den requestId -Parameter anstelle von req POSTIEREN, und der Standardmodellbinder erledigt die Aufgabe.

Wenn Sie aus irgendeinem Grund ein Ansichtsmodell mit benutzerdefiniertem Konstruktor verwenden möchten, sehen Sie hier ein Beispiel für die Darstellung des benutzerdefinierten Modellbinders:

%Vor%

wird in Ihrem Application_Start :

registriert %Vor%     
Darin Dimitrov 23.02.2012, 12:46
quelle

Tags und Links