アプリケーションに 2 つの部分ビューをロードしています。メニューをクリックすると、ajax 呼び出しで div.load() からコントローラーを 2 回呼び出します。コントローラーが 2 回呼び出されるのを回避する方法。
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 アンカー タグをクリックすると、部分ビューが読み込まれます。ただし、コントローラーは 2 回呼び出されます。私のコードの間違いは何ですか。? 部分的なビューをもたらすための提案はありますか??