我有 3 个部分视图
视图 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>
}
上面的示例显示我正在使用 加载View 1
另一个视图中的jQuery Load()
a ,然后加载View 2
withing View 1
,然后以此类推,但是,第一个 load() 工作正常,但后续加载不会触发。
我认为这是由于该$(document).ready();
功能未重置,但是,我不确定如何在每次加载时重置它。
使用 MVC解决 的问题,默认模板在页面底部呈现 jQuery 脚本。我将它移到顶部,并且 ajax 负载工作。
我知道这没有任何意义,但它解决了问题。在对为什么这可以解决问题进行更多调查后,我将更新问题。