MvcMailer: Benutzereingaben im View-Through-Modell übernehmen und dann in Mail einfügen

8

Ich weiß nicht, ob ich das richtig erkläre oder ob die Lösung ziemlich einfach ist, also hier:

Ich verwende MvcMailer, aber vorher habe ich ein Wizard-Eingabeformular eingerichtet, das ich Quote.cshtml anrufe. Hinter Quote.cshtml richte ich ein Modell namens QuoteModel.cs ein.

Quote.cshtml am einfachsten (ich lasse die gesamte Zaubererlogik weg und zeige nur eine Eingabe an):

%Vor%

QuoteModel.cs (wiederum nur die eine Eingabe; n.b .: mit DataAnnotationExtensions )

%Vor%

Jetzt versuche ich, MvcMailer zu integrieren, der IQuoteMailer.cs, QuoteMailer.cs, _Layout.cshtml und QuoteMail.cshtml einrichtet. Die QuoteMail.cshtml ist, was der Empfänger der Mail schließlich sehen wird. Ich habe auch eine QuoteController.cs eingerichtet, in der ich den von MvcMailer benötigten Code platziert habe. Es ist in der QuoteMailer.cs und QuoteController.cs, wo ich Probleme habe, die Benutzereingabe von Quote.cshtml (die auf dem Modell in QuoteModel.cs basiert) zu übergeben.

IQuoteMailer.cs:

%Vor%

QuoteMailer.cs:

%Vor%

QuoteMail.cshtml (_Layout.cshtml ist ziemlich Standard, also nicht hier zu zeigen):

%Vor%

Und schließlich, die relevanten Teile der QuoteController.cs (beachten Sie, dass ich einen Assistenten verwende, daher ist ein Teil meines Problems herauszufinden, wo der MvcMailer Code zu setzen ist, aber ich denke, dass ich es richtig haben kann):

öffentliche Klasse QuoteController: Controller     {

%Vor%

}

Meine Verwirrung besteht also darin, wie ich das von mir erstellte QuoteModel weiterleiten kann, so dass ich letztendlich die eingegebenen Daten des Benutzers übernehmen und dann die MvcMailer-Ansicht generieren kann.

Ich schätze die Hilfe der Gemeinden.

    
REMESQ 10.07.2011, 14:00
quelle

1 Antwort

15

Sie könnten die IQuoteMailer Schnittstelle das Modell nehmen lassen:

%Vor%

und in der Implementierung verwenden Sie dieses Modell:

%Vor%

dann von der Steuerung, wenn Sie sich entscheiden, die Mail zu senden, übergeben Sie das Modell:

%Vor%

und schließlich in der Vorlage ( ~/Views/QuoteMailer/QuoteMail.cshtml ) könnten Sie das Modell verwenden:

%Vor%     
Darin Dimitrov 10.07.2011, 17:19
quelle

Tags und Links