1

AJAX呼び出しを介して順序付けされていないリストに追加されるリストアイテムのHTMLチャンクを返す部分ビューがあります。これはすべて正常に機能します。

ただし、AJAX呼び出しからHTMLを受け取ったら、JQueryを介して各リストアイテムにいくつかのプロパティを設定できるようにしたいと思います。そのためには、そのAJAXコールバックの結果をActionResultではなくJsonResultとして受け取る必要があると想定しています。残念ながら、HTMLのレンダリングに使用しているASCXを使い続けたいと思います。これは、HTMLにかなりのフォーマットデータが含まれているためです。

部分的なビューをレンダリングしてから、それをAJAXクライアントのJsonResultに変換することは可能ですか、それとも私が検討すべき別のアプローチがありますか?

どんなアドバイスも大歓迎です。

ありがとう!

4

1 に答える 1

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
}

また、結果がsの束である場合は、li次のように実行できます。

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

これはチェーンで簡略化できますが、もう少し冗長にしたので理解しやすくなりました

于 2009-08-25T21:04:10.627 に答える