2009-08-25 6 views
1

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

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

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

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

Спасибо!

ответ

4

Вам не нужен 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); 
} 

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