2

単一ビュー ページに複数の部分ビューがあります。部分ビューは動的にロードされます。そして、部分ビューを1つずつロードしたいのですが、それは可能ですか?

4

2 に答える 2

4

ビューで、3 つの Div を保持し、以下のような属性で Url の詳細を割り当てます。

サンプル HTML

<div id="Div1" attr-Url="@Url.Action("ActionName", "ControllerName", 
                                                    new { area = "Area Name" })">
</div>

<div id="Div2" attr-Url="@Url.Action("ActionName", "ControllerName", 
                                                    new { area = "Area Name" })">
</div>

<div id="Div3" attr-Url="@Url.Action("ActionName", "ControllerName", 
                                                    new { area = "Area Name" })">
</div>

これで、Load イベントの Success CallBack を使用できるようになりました。

JQuery

$(document).ready(function () {
    var url = $('Div1').attr('attr-Url');
    $('Div1').load(url, function () {

        //Success callback
        url = $('Div2').attr('attr-Url2');
        $('Div2').load(url, function () {

            //Success callback
            url = $('Div3').attr('attr-Url3');
            $('Div3').load(url, function () {

                //Success callback
            }); 
        });
    });
});

上記のコードに気付いた場合。最初の部分ビューが正常にロードされると、2 番目の部分ビューのロードが開始され、3 番目の部分ビューが順にロードされます。

これがあなたを助けることを願っています...

于 2013-04-03T16:32:58.467 に答える
1

このアプローチはあなたに役立つかもしれません:

MVC3 で JQuery を使用して部分ビューをレンダリングする

jquery と を使用.load()して、部分ビューを html としてレンダリングし、後で必要な場所に配置する JavaScript に返すアクションを呼び出します。

アップデート:

それらを順番にロードしたい場合は、jquery のload()の完全なコールバックを使用して、次々にチェーンすることができます。

特定の時間または間隔でロードする場合は、javascript のsetTimeoutを使用できます。

于 2013-04-03T13:34:32.160 に答える