我正在为我目前正在构建的网站使用 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.";
上述两种方法都达到了各自的断点,并按预期将数据传递给相关模型。然而,虽然这两种方法似乎都只发送一封电子邮件,但这始终是“EmailUser”(无论是管理员电子邮件还是用户电子邮件)。请注意,减去邮件中不同的视图,发送电子邮件的代码完全相同。
从代码中删除“TempData”后,两封电子邮件都会发送而不会出现任何问题。
有没有人对为什么会发生这种情况以及如果他们是一个潜在的解决方法有任何建议?
我没有使用 MVCMailer,而是使用典型的字符串生成器以电子邮件格式呈现视图。TempData 仅被使用,因为它需要从 ActionResult 持久化到另一个。