如何使用asp.net mvc中的ajax从控制器中检索对象列表

时间:2013-06-26 09:56:39

标签: asp.net asp.net-mvc asp.net-ajax asp.net-mvc-ajax

我想从控制器中检索对象列表,并使用ajax将其传递给视图。我的控制器获取操作的代码是:

       public ActionResult Get()
        {
            Home h = new Home();
            return View(h.get());
        }

h.get()返回一个列表,我想将其发送回视图中写入的ajax调用。 Ajax电话:

<script type="text/javascript">
        $.ajax({
            type: "GET",
            url: '@Url.Action("Get","Home")',
        }).done(function (msg) {
            alert(msg);
        });
</script>

如何将数据从控制器传输到视图?我需要帮助,提前谢谢

2 个答案:

答案 0 :(得分:2)

您可能应该将数据作为JSON返回。

public ActionResult Get()
        {
            Home h = new Home();
            return Json(h.get(), JsonRequestBehavior.AllowGet);
        }

答案 1 :(得分:0)

在这种情况下,您正在发送视图。你应该返回一个JSON。

return Json(result, "text/html", System.Text.Encoding.UTF8, JsonRequestBehavior.AllowGet);

或者,如果您想要返回附加了模型的视图,您可以执行

return PartialView("Name", model);

并在视图一侧将其加载到div

$.ajax({
            type: "GET",
            url: '@Url.Action("Get","Home")',
        }).done(function (msg) {
            $("#div-id").html(msg);
        });