我有一个视图,它有一些 jQuery 将部分视图(通过按钮单击)加载到视图中的 div 中。这没有问题。然而,在局部视图中,我有一个非常相似的 jQuery,它将另一个局部视图加载到第一个局部视图中的 div 中,但这不起作用,似乎第一个局部视图中的 jQuery 不是加载。
我已经尝试寻找解决方案,但我还没有找到答案。我还在 a 中重新创建了 jQuery 函数,@Ajax.ActionLink
它工作正常,但是当我尝试学习 jQuery 时,我试图避免使用 Microsoft 助手。
这是第一个包含似乎不起作用的 jQuery 的局部视图,它还包含起作用的 jQuery @Ajax.ActionLink
:
@model MyProject.ViewModels.AddressIndexViewModel
<script>
$(".viewContacts").click(function () {
$.ajax({
url: '@Url.Action("CustomerAddressContacts", "Customer")',
type: 'POST',
data: { addressID: $(this).attr('data-addressid') },
cache: false,
success: function (result) {
$("#customerAddressContactsPartial-" + $(this).attr('data-addressid'))
.html(result);
},
error: function () {
alert("error");
}
});
return false;
});
</script>
<table class="customers" style="width: 100%">
<tr>
<th style="width: 25%">
Name
</th>
<th style="width: 25%">
Actions
</th>
</tr>
</table>
@foreach (Address item in Model.Addresses)
{
<table style="width: 100%; border-top: none">
<tr id="address-id-@item.AddressID">
<td style="width: 25%; border-top: none">
@Html.DisplayFor(modelItem => item.Name)
</td>
<td style="width: 25%; border-top: none">
<a href="#" class="viewContacts standardbutton" data-addressid="@item.AddressID">ContactsJQ</a>
@Ajax.ActionLink("Contacts", "CustomerAddressContacts", "Customer",
new { addressID = item.AddressID },
new AjaxOptions { UpdateTargetId = "customerAddressContactsPartial-" + @item.AddressID, HttpMethod = "POST" },
new { @class = "standardbutton"})
</td>
</tr>
</table>
<div id="customerAddressContactsPartial-@item.AddressID"></div>
}
如果有人可以解释我在这里做错了什么以及如何解决它,那么我将非常感激。
非常感谢。