Как получить список объектов из контроллера, используя ajax в asp.net mvc

Я хочу получить список объектов из контроллера и передать его в представление с помощью ajax. Код действия Get моего контроллера:

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

h.get () возвращает список, который я хочу отправить обратно на вызов ajax, написанный в представлении. Ajax Call:

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

Как я могу передать данные с контроллера для просмотра? Мне нужна помощь в этом, заранее спасибо

2 ответа

Решение

Вы, вероятно, должны вернуть данные в формате JSON.

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

Вы отправляете представление обратно в этом случае. Вы должны вернуть 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);
        });
Другие вопросы по тегам