[英]How can I show ViewBag message in html part after implementing AJAX result in ASP.NET MVC?
我有一个关于显示与合同 function 的结果有关的 ViewBag 消息的问题。 我写了一些代码来处理这个过程,但我无法在 HTML 部分显示消息。 AJAX流程的成功部分应该写什么代码?
这是我的 Html 零件,如下所示。
<div class="my-3">
<div class="error-message">@ViewBag.Error</div>
<div class="sent-message">@ViewBag.Success</div>
</div>
这是我的合同 function 方法,如下所示。
[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult Contract(string nameSurname = null, string email = null, string subject = null, string message = null)
{
if (nameSurname != null && email != null)
{
SmtpClient smtpClient = new SmtpClient("smtp.gmail.com");
smtpClient.Port = 587;
smtpClient.Credentials = new System.Net.NetworkCredential("gmail address", "gmail address password");
// smtpClient.UseDefaultCredentials = true; // uncomment if you don't want to use the network credentials
smtpClient.DeliveryMethod = SmtpDeliveryMethod.Network;
smtpClient.EnableSsl = true;
MailMessage mail = new MailMessage();
mail.Subject = subject;
mail.IsBodyHtml = true;
mail.Body = message;
//Setting From , To and CC
mail.From = new MailAddress(email);
mail.To.Add(new MailAddress("gmail address"));
smtpClient.Send(mail);
ViewBag.Success = "Success";
}
else
{
ViewBag.Error = "Error";
}
return View();
}
这是我的 ajax 零件,如下所示。
<script type="text/javascript">
$(document).ready(function () {
$("#submitButton").click(function () {
var nameSurname = $("#nameSurname").val();
var email = $("#email").val();
var subject = $("#subject").val();
var message = $("#message").val();
var form = $('#contactForm');
var token = $('input[name="__RequestVerificationToken"]', form).val();
$.ajax({
url: '/Home/Contract/',
data: {
__RequestVerificationToken: token,
nameSurname: nameSurname, email: email, subject: subject, message: message
},
type: 'POST',
success: function (data) {
// code
},
error: function (XMLHttpRequest, textStatus, errorThrown) {
alert('custom message. Error: ' + errorThrown);
}
});
});
})
</script>
下面是我的解决方案。
html 零件。
<div class="my-3">
@if (ViewBag.Success != null)
{
<div class="alert alert-success" role="alert">
@ViewBag.Success
</div>
}
@if (ViewBag.Error != null)
{
<div class="alert alert-danger" role="alert">
@ViewBag.Error
</div>
}
</div>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.