2009-08-25 191 views
1

我有一個局部視圖,它返回通過AJAX調用被附加到無序列表上的列表項的HTML塊。這一切工作正常。作爲JsonResult返回部分視圖

但是,一旦我從AJAX調用接收到HTML返回,我希望能夠通過JQuery爲每個列表項設置一些屬性。爲了做到這一點,我假設我需要接收AJAX回調的結果作爲JsonResult而不是ActionResult。不幸的是,我想繼續使用我用來渲染HTML的ASCX,因爲它包含了相當多的格式化數據。

是否可以呈現一個局部視圖,然後將其轉換爲AJAX客戶端的JsonResult,或者是否存在我應該考慮的另一種方法?

任何意見是非常感謝。

謝謝!

回答

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); 
} 

這可以用簡化鏈接,但我做了一點更詳細,所以更容易理解