Вернуть частичное представление как JsonResult - PullRequest
1 голос
/ 26 августа 2009

У меня есть частичное представление, которое возвращает HTML-фрагмент списка, который добавляется в неупорядоченный список с помощью вызова AJAX. Это все отлично работает.

Однако, как только я получу HTML обратно от вызова AJAX, я хотел бы иметь возможность установить некоторые свойства для каждого из элементов списка через JQuery. Чтобы сделать это, я предполагаю, что мне нужно получить результаты этого обратного вызова AJAX как JsonResult, а не ActionResult. К сожалению, я хочу продолжать использовать ASCX, который я использую для рендеринга HTML, так как он содержит довольно много данных форматирования, содержащихся в нем.

Можно ли визуализировать частичное представление и затем преобразовать его в JsonResult для клиента AJAX или есть другой подход, который я должен рассмотреть?

Любой совет очень ценится.

Спасибо!

1 Ответ

4 голосов
/ 26 августа 2009

Вам на самом деле не нужен JsonResult. Частичное, то есть ActionResult, извлекает некоторые xml / html права? Затем вы можете использовать jquery для его анализа и запроса следующим образом:

function success(result) {
    var html = $(result); //this creates a jquery object out of your result html
    $("ul li", html); //this gets you all the list items in context of the resulting html
}

Также, если ваш результат всего лишь li с, вы можете сделать это:

function success(result) {
    var lis = $(result);
    lis.each(function() { $(this).append(" testing"); });
    $("#yourUl").append(lis);
}

Это можно упростить с помощью цепочки, но я сделал ее более многословной, чтобы ее было легче понять

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...