我目前正在開發一個小型示例 Web 應用程式。我想通過 Ajax 呼叫將表中的 id 發送到適當的后處理程式。我到達了處理程式,但不知何故,有效載荷在此程序中丟失了。開發人員工具(網路)在有效負載部分正確輸出 ID。但是,只有 0 到達 post 處理程式。
此外,我還發現如何將整個物件傳遞給 Ajax 函式也很有趣。
在此先感謝您的幫助。
看法
foreach (var student in Model.Students)
{
<tr>
<td>@student.StudentId</td>
<td>@student.Salutation</td>
<td>@student.FirstName</td>
<td>@student.LastName</td>
<td>@student.EmailAddress</td>
<td>@student.City</td>
<td>@student.CreatedOn.ToString("ddd., dd.MM.yyyy")</td>
<td>
<a class="btn btn-danger" onclick="DeleteStudentRecord(@student.StudentId)">Delete</a>
</td>
</tr>
}
Ajax 腳本
function DeleteStudentRecord (studentId) {
$.ajax({
type: "POST",
url: '@Url.Action("DeleteStudentRecord", "Students")',
data: {StudentId: studentId},
dataType: "json"
});
}
后處理程式( StudentsController.cs )
[HttpPost]
public IActionResult DeleteStudentRecord(int id)
{
StudentViewModel viewModel = new();
_studentService.DeleteStudent(id);
viewModel.Students = _studentService.GetAllStudents();
ModelState.Clear();
return View("StudentsList", viewModel);
}
uj5u.com熱心網友回復:
Ajax 腳本必須是這樣的:
function DeleteStudentRecord (studentId) {
$.ajax({
type: "POST",
url: '@Url.Action("DeleteStudentRecord", "Students")',
data: {id: studentId},
dataType: "json"
});
}
因為在您的學生控制器 DeleteStudentRecord 操作中等待 id 而不是 StudentId。
或者您可以在 DeleteStudentRecord 操作中將 id 更改為 StudentId。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/406640.html
標籤:
