如何在特定时间段内在单个视图上加载多个部分视图?

时间:2013-04-03 13:29:35

标签: jquery asp.net-mvc asp.net-mvc-3 asp.net-mvc-2

我的单个视图页面上有多个局部视图。部分视图动态加载。我希望部分视图加载1乘1.是否可以这样做?

2 个答案:

答案 0 :(得分:4)

在您的视图中,保留三个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 CallBack of Load Event。

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

如果您注意到上述代码。成功加载第一个局部视图后,第二个局部视图开始加载并顺序加载第三个。

希望这会对你有帮助......

答案 1 :(得分:1)

这种方法对您有用:

Render Partial Views using JQuery in MVC3

它使用jquery和.load()来调用将您的部分视图呈现为html并将其返回到javascript的操作,以后您可以将其放在任何您想要的位置。

更新:

如果你想一个接一个地按顺序加载它们,你可以使用jquery的load()的完整回调来链接一个接一个。

如果您希望在特定时间或间隔加载它们,可以使用javascript的setTimeout