我在我的应用程序中加载了两个部分视图。单击菜单中的,在ajax调用中从div.load()调用控制器两次。如何避免控制器调用两次。
Jquery Ajax调用:
$(document).ready(function () {
$('.common').click(function () {
var pageid = this.id;
LoadPartialView(pageid);
});
});
function LoadPartialView(pageid) {
alert('pass');
var urls = '/WPindex/' + pageid + '/'
$.ajax({
url: urls,
type: 'GET',
contentType: 'application/html',
success: function (result) {
$('#divDefault').hide();
$('#divDynamic').load('/WPindex/' + pageid);
}
});
}
查看
<body>
<div>
<ul>
<li><a id="MyAccount" class="common"><strong>Account Dashboard</strong></a></li>
<li><a id="AccountDetails" class="common">Account Information</a></li>
<li><a id="AddressBook" class="common">Address Book</a></li>
</ul>
</div>
<div id="divDefault" class="order">
</div>
<div id="divDynamic" class="order">
</div>
</body>
控制器
public ActionResult AccountDetails()
{
return PartialView();
}
在此处单击AccountDetails锚标记,将加载局部视图。但控制器被调用两次。我的代码中有什么错误。 ? 有关带部分视图的任何建议吗?
答案 0 :(得分:4)
那么,
$.ajax({
...
部分首次调用控制器,
success: function (result) {
...
$('#divDynamic').load(...
制作第二个。如果你的任务只是在div中加载数据,你可以只用一行:
$('#divDynamic').load('/WPindex/' + pageid);