如何从控制器发回消息以查看

时间:2014-03-14 14:51:38

标签: asp.net-mvc json asp.net-mvc-4 controller

我想在表单提交后弹出表单的成功或失败通知。

我有一个部分视图为_Appointment.cshtml,上面有一个表单。

我有一个主视图索引,我正在加载它

@{Html.RenderPartial("~/Views/Appointments/_Appointment.cshtml", Model);}

在控制器中我有

[HttpPost]
[ValidateAntiForgeryToken]
public JsonResult _Appointment_public(Appointments appointments)
{
    if (ModelState.IsValid)
    {          
        db.Appointments.Add(appointments);
        db.SaveChanges();
        // return RedirectToAction("Index");
        ViewBag.Success = "Successfull";
        // RedirectToAction("../Home/Index");           
    }

    return Json(new {message = "Test" });
}

如何传递和接受JSON数据到我的视图?

1 个答案:

答案 0 :(得分:0)

首先,在您的局部视图中,您需要使用JavaScript代码进行Ajax调用(假设您正在使用带有MVC的jQuery)。 https://api.jquery.com/jQuery.post/

在控制器的post操作中,确保按照正确的操作返回Json数据。在JavaScript代码的Success函数中,获取数据并根据需要进行处理。您可能希望返回“true”或“false”,然后执行您需要执行的操作。这可以是向用户显示JavaScript警报,隐藏表单的span / div并显示另一条消息。

如果您需要更复杂的数据,您还可以从控制器返回该数据,并使用jQuery在另一个div中呈现该数据。