Возвращение частичного просмотра как JsonResult

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

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

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

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

Спасибо!

Ответ 1

Вам действительно не нужен 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);
}

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