【发布时间】:2013-09-18 14:40:56
【问题描述】:
我正在为我正在构建的网站使用 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 持久保存到另一个时使用。
【问题讨论】:
-
我已经编辑了你的标题。请参阅“Should questions include “tags” in their titles?”,其中的共识是“不,他们不应该”。
标签: c# asp.net-mvc asp.net-mvc-4 razor tempdata