Возвращение частичного просмотра как 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);
}
Это может быть упрощено с помощью цепочки, но я сделал это немного более подробным, поэтому его легче понять