現在構築中の Web サイトに MVC 4、C#、および Razor を使用していますが、奇妙な問題が発生しています。
問題は、以下のコードに関連しています。
Mailer.EmailAdmin(this, model);
Mailer.EmailUser(this, model);
TempData["Message"] = "Your request has been forwarded to the appropriate administrator."
+ " \n You will be notified when the application has been processed.";
上記のメソッドは両方ともそれぞれのブレークポイントに到達し、予想どおりデータが関連するモデルに渡されます。ただし、どちらの方法でも機能するように見えますが、送信される電子メールは 1 つだけですが、これは常に「EmailUser」です (管理者またはユーザーの電子メールが最初に置かれるかどうかに関係なく)。メーラー内でビューが異なることを除いて、メールを送信するコードはまったく同じであることに注意してください。
「TempData」がコードから削除されるとすぐに、両方のメールが問題なく送信されます。
なぜこれが発生している可能性があるのか 、その場合の潜在的な修正について誰か提案がありますか?
私は MVCMailer を使用しておらず、代わりに典型的な文字列ビルダーを使用してビューを電子メール形式でレンダリングしています。TempData は、ActionResult から別の ActionResult に永続化する必要がある場合にのみ使用されます。