如何在 Razor 视图中使用 Form into foreach 循环
How to use Form into foreach loop in Razor view
我使用甜蜜的警告对话框来确认删除。当我在表单中输入模型 ID 值时,没有发送正确的值,并且发送的数字少了一个。
不使用表单就发送了正确的 ID 值。
请告诉我问题出在哪里,我该如何解决。
$(".ajax_delete1").on("click", function validateForm(event) {
event.preventDefault(); // prevent form submit
var form = $('#ppp'); // storing the form
swal({
title: "آیا از پاک کردن این ایتم مطمئن هستید",
text: "این ایتم اگر حذف شود دیگر قابل بازگردانی نیست!",
icon: "warning",
showCancelButton: true,
dangerMode: true,
confirmButtonColor: '#DD6B55',
confirmButtonText: "حذف",
cancelButtonText: "انصراف",
})
.then((willDelete) => {
if (willDelete) {
form.submit();
} else {
swal("فایل شما پاک نشد!");
}
});
});
@foreach (var item in Model) {
<tr>
<td>@item.projectName</td>
<td>@item.projectMagName</td>
<td style="width:250px">
<div class="text-center row d-flex justify-content-between">
<div class="mt-1">
<a class="fa fa-edit" style="font-size:28px;color:darkblue" asp-controller="Home" asp-action="EditProject" asp-route-id="@item.projectID"></a>
</div>
<div style="margin-top:3px">
<form asp-controller="Home" asp-action="RemoveProject" asp-route-id="@item.projectID" method="post" id="pop">
<a class="fa fa-trash-o ajax_delete1" style="font-size: 28px; color: red; cursor: pointer;"></a>
</form>
</div>
<div style="margin-top:1px">
<a class="btn btn-sm btn-outline-primary" asp-controller="Home" asp-action="ProjectDetails" asp-route-id="@item.projectID">جزئیات</a>
<a class="btn btn-sm btn-outline-secondary" asp-controller="Home" asp-action="PayShow" asp-route-id="@item.projectID">دسترسی</a>
</div>
</div>
</td>
</tr>
}
根据你的描述,我发现你使用$('#pop');
,如果你使用查询代码,它总是使用第一种形式。
我建议您可以尝试使用 var form = event.target.closest("form");
,这将找到 A 标签的壁橱表单元素。
更多详情,您可以参考以下代码:
$(".ajax_delete1").on("click", function validateForm(event) {
event.preventDefault(); // prevent form submit
var form = event.target.closest("form"); // storing the form
swal({
title: "آیا از پاک کردن این ایتم مطمئن هستید",
text: "این ایتم اگر حذف شود دیگر قابل بازگردانی نیست!",
icon: "warning",
showCancelButton: true,
dangerMode: true,
confirmButtonColor: '#DD6B55',
confirmButtonText: "حذف",
cancelButtonText: "انصراف",
})
.then((willDelete) => {
if (willDelete) {
form.submit();
} else {
swal("فایل شما پاک نشد!");
}
});
});
我使用甜蜜的警告对话框来确认删除。当我在表单中输入模型 ID 值时,没有发送正确的值,并且发送的数字少了一个。
不使用表单就发送了正确的 ID 值。
请告诉我问题出在哪里,我该如何解决。
$(".ajax_delete1").on("click", function validateForm(event) {
event.preventDefault(); // prevent form submit
var form = $('#ppp'); // storing the form
swal({
title: "آیا از پاک کردن این ایتم مطمئن هستید",
text: "این ایتم اگر حذف شود دیگر قابل بازگردانی نیست!",
icon: "warning",
showCancelButton: true,
dangerMode: true,
confirmButtonColor: '#DD6B55',
confirmButtonText: "حذف",
cancelButtonText: "انصراف",
})
.then((willDelete) => {
if (willDelete) {
form.submit();
} else {
swal("فایل شما پاک نشد!");
}
});
});
@foreach (var item in Model) {
<tr>
<td>@item.projectName</td>
<td>@item.projectMagName</td>
<td style="width:250px">
<div class="text-center row d-flex justify-content-between">
<div class="mt-1">
<a class="fa fa-edit" style="font-size:28px;color:darkblue" asp-controller="Home" asp-action="EditProject" asp-route-id="@item.projectID"></a>
</div>
<div style="margin-top:3px">
<form asp-controller="Home" asp-action="RemoveProject" asp-route-id="@item.projectID" method="post" id="pop">
<a class="fa fa-trash-o ajax_delete1" style="font-size: 28px; color: red; cursor: pointer;"></a>
</form>
</div>
<div style="margin-top:1px">
<a class="btn btn-sm btn-outline-primary" asp-controller="Home" asp-action="ProjectDetails" asp-route-id="@item.projectID">جزئیات</a>
<a class="btn btn-sm btn-outline-secondary" asp-controller="Home" asp-action="PayShow" asp-route-id="@item.projectID">دسترسی</a>
</div>
</div>
</td>
</tr>
}
根据你的描述,我发现你使用$('#pop');
,如果你使用查询代码,它总是使用第一种形式。
我建议您可以尝试使用 var form = event.target.closest("form");
,这将找到 A 标签的壁橱表单元素。
更多详情,您可以参考以下代码:
$(".ajax_delete1").on("click", function validateForm(event) {
event.preventDefault(); // prevent form submit
var form = event.target.closest("form"); // storing the form
swal({
title: "آیا از پاک کردن این ایتم مطمئن هستید",
text: "این ایتم اگر حذف شود دیگر قابل بازگردانی نیست!",
icon: "warning",
showCancelButton: true,
dangerMode: true,
confirmButtonColor: '#DD6B55',
confirmButtonText: "حذف",
cancelButtonText: "انصراف",
})
.then((willDelete) => {
if (willDelete) {
form.submit();
} else {
swal("فایل شما پاک نشد!");
}
});
});