2017-08-30 131 views
1

我创建一个反馈表并通过电子邮件发送给管理员SMTP Server。我已成功发送。现在我想要显示一个电子邮件发送成功 发送电子邮件后的消息。我正在使用Response.Write,但效果不佳。我已经使用AjaxJquery和许多其他解决方案,但他们没有给我带来好的结果。通过smtp发送电子邮件后显示消息

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("[email protected]", "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

您可以使用ViewBag或JsonResult来显示标准消息或警告框,具体取决于您需要的内容。 –

回答

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财产也可以实现这一点

相关问题