[英]Display message after sending email by smtp
我创建一个反馈表单,然后通过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);
}
您可以执行以下操作:
[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
属性来实现此目的
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.