【发布时间】:2026-02-06 07:25:01
【问题描述】:
我有以下 div,它正在加载部分视图
<div id="_customerForm">
@Html.Partial("~/Views/Customer/_customerForm.cshtml", Model.customerForm)
</div>
在那个部分视图中我有 Ajax 表单
@using (Ajax.BeginForm("UpdateCustomer",
"Customer",
new AjaxOptions()
{
HttpMethod = "POST",
InsertionMode = InsertionMode.Replace,
UpdateTargetId = "_customerForm",
}
))
{
...
}
当我提交 Ajax 表单时,会重新生成部分视图,包括 Ajax 表单(通过来自服务器的新模型)
我面临的问题是我将 jquery 事件附加到该表单的输入之一,该输入有效,直到刷新表单。例如
$("#CustomerAddressList").change(function () { ... });
#CustomerAddressList DOM 上的更改事件一直有效,直到 #CustomerAddressList 被新的 PartialView 模型刷新,知道吗?
【问题讨论】:
-
一种选择是将您的 jQuery 绑定更改为类似
$("body").on("change", "#CustomerAddresslist", function() {});的内容。即使元素被删除并重新创建,这也会导致绑定获取更改。您还可以将"body"替换为更具体的选择器和元素的父级
标签: jquery ajax asp.net-mvc