J'ai une application Web Forms asp.net qui doit envoyer des e-mails. J'aime la syntaxe de Razor et comme vous pouvez utiliser Razor en dehors de MVC, j'ai pensé que j'essaierais de l'utiliser. J'ai vu que vous pouvez passer par programme une chaîne de modèle à rasoir mais je voudrais garder mes modèles de rasoir en tant que fichiers .cshtml distincts.Utiliser les vues Razor comme modèles d'e-mail dans une application Web Forms
Est-ce que quelqu'un a des conseils simples, idiot-proofs sur la façon de faire cela? J'ai essayé de les charger à partir du fichier comme ceci:
UserDetails userDetails = new UserDetails {Name = "Fred"};
string template = File.OpenText("Email/UserDetailsEmail.cshtml").ReadToEnd();
string messageText = Razor.Parse(template, userDetails);
Tout en vain. Il y a une exception pour trouver le fichier. J'utilise la DLL de Razorengine.
J'ai tout le reste fonctionnant, le serveur de smtp etc., juste pas les vues.
Toute aide appréciée.
Savez-vous comment appeler une vue de rasoir à partir d'une forme Web projet. Lorsque j'appelle 'PopulateBody (mailMessage, viewName: "UserDetails");' J'obtiens une exception: "La valeur ne peut pas être nulle. \ R \ nParameter name: routeData". Y at-il des instructions simples pour truquer MvcMailer à l'intérieur et l'application de formulaires Web? – Matt