我有3個局部視圖jQuery的.load().load()
視圖1中:
//_yard.cshtml
@model Yard
<div>@Model.Name</div>
<div class="yard"></div>
@foreach(var house in Model.Houses)
{
<script type="text/javascript">
$(document).ready(function{
$(".yard").load("/community/Houses");
});
</script>
}
視圖2
//_houses.cshtml
@model House
<div>@Model.Name<div>
<div class="house"></div>
@foreach(var level in Model.levels)
{
<script type="text/JavaScript">
$(document).ready(function{
$(".house").load("/Community/Levels");
});
</script>
}
視圖3:
//_levels.cshtml
@model Level
<div>@Model.Name<div>
<div class="room"></div>
@foreach(var room in Model.Rooms)
{
<script type="text/JavaScript">
$(document).ready(function{
$(".room").load("/Community/Rooms");
});
</script>
}
將上述樣品,顯示了我加載使用jQuery Load()
另一視圖內的View 1
,我然後加載View 2
withing View 1
,然後等等,然而,第一負載()工作正常,但subsequint負載不火。
我認爲這是由於$(document).ready();
函數未被重置,但是,我不確定如何在每次加載時重置它。
問題解決 使用MVC默認模板在頁面底部呈現jQuery腳本。我把它移到頂端,並且ajax加載工作。
我知道這沒有意義,但它解決了這個問題。爲了解決這個問題,我會在做一些更多的調查之後更新這個問題。
在附註中,純粹基於您在上面提供的示例,我認爲根本不使用JavaScript更有意義。當你執行你的@foreach時,我會把Html.RenderPartial()放在那裏,而不是JavaScript,並在服務器端生成整個HTML,而不是在服務器上加載部分頁面,然後從多個AJAX調用加載剩下的AJAX調用客戶端。 – 2013-02-22 09:08:42
我必須使用ajax加載它,隨後從各種Web服務中提取數據,隨後的部分需要很長時間才能加載。 – 2013-02-22 09:32:38