1

現在構築中の 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 に永続化する必要がある場合にのみ使用されます。

4

2 に答える 2