我创建了一个反馈表单,并通过电子邮件发送给管理员SMTP Server
。我已经成功发送了它。现在我要显示发送成功的电子邮件
发送电子邮件后的消息。我正在使用Response.Write
,但效果不佳。我为此目的使用了Ajax
,Jquery
和许多其他解决方案,但他们没有给我带来好结果。
FeedbackController.cs
[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult Create([Bind(Include = "Id,Name,Email,Comments")] Feedback feedback, string Message)
{
if (ModelState.IsValid)
{
bool result = false;
db.Feedbacks.Add(feedback);
db.SaveChanges();
result = SendEmail("abc@gmail.com", "Feedback", "<p>Hi Admin,<br/>My name is "+ feedback.Name + ". <br/> E_mail ID: " + feedback.Email + "<br/><br/>" + feedback.Comments + "<br/>Kind Regards,<br/>" + feedback.Name + "</p>");
Response.Write("Email sent succeed");
ModelState.Clear();
return View("Create");
}
return View(feedback);
}
答案 0 :(得分:2)
您可以执行以下操作:
[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult Create([Bind(Include = "Id,Name,Email,Comments")] Feedback feedback, string Message)
{
if (ModelState.IsValid)
{
//your code
TempData["EmailSent"] = "Email sent succeed";
return View("Create");
}
return View(feedback);
}
在“创建视图”
中@if (TempData["EmailSent"] != null)
{
<p>@TempData["EmailSent"].ToString()</p>
}
这只是一种方法,您可以利用ViewBag
属性来实现这一目标