我正在練習Ajax!我有一個簡單的聯繫表,這是我的操作:json MVC中的成功和失敗響應
public ActionResult Contact()
{
return View("Contact");
}
[HttpPost]
public ActionResult Contact(ContactViewModel contactViewModel)
{
if (ModelState.IsValid)
{
var contact = contactViewModel.ConvertToContactModel();
_contactRepository.Add(contact);
_contactRepository.Save();
return Json(new { msg = "Your contact Sent, I'll response soon." });
}
return Json("Sorry! Somthing went wrong, try again or contact again");
}
,這是我的看法:
@model Blog.Web.UI.ViewModels.ContactViewModel
@{
ViewBag.Title = "Contact";
Layout = "~/Views/Shared/_Layout.cshtml";
}
<div id="Contact">
@using (Ajax.BeginForm("Contact", "Home", new AjaxOptions() { OnSuccess = "Success" }))
{
<div>
@Html.LabelFor(c => c.Name)
@Html.TextBoxFor(c => c.Name)
</div>
<div>
@Html.LabelFor(c => c.Email)
@Html.TextBoxFor(c => c.Email)
@Html.ValidationMessageFor(c => c.Email)
</div>
<div>
@Html.LabelFor(c => c.Subject)
@Html.TextBoxFor(c => c.Subject)
</div>
<div>
@Html.LabelFor(c => c.Body)
@Html.TextAreaFor(c => c.Body)
@Html.ValidationMessageFor(c => c.Body)
</div>
<input type="submit" value="Send" />
}
</div>
<script type="text/javascript">
function Success(context) {
if (context[0]) {
$("#Contact").empty().html(context[1]);
}
}
</script>
現在我想向用戶顯示成功或取得接觸的失敗,是什麼問題我的代碼不起作用? 它是如此有趣,我的驗證不起作用在這種情況下! 請幫我一下,謝謝