Удаление с помощью ajax в .NET MVC
Я вызываю метод Delete controller из ajax при нажатии кнопки, но когда я нажимаю кнопку, он выдает ошибку типа "ссылка на объект не установлена на экземпляр объекта."
Я написал код для ajax и вызова метода delete ранее код javascript вызывался при каждой загрузке страницы, а не при нажатии кнопки, но затем я добавляю e.preventDefault(); проблема в том, что теперь он выдает ошибку, а не переходит к методу controller delete.
Мой код Javascript
<script> function DeleteCall(id) { // $(document.getElementById("sbmtInput").click(function(e){} $('btnDelete').click(function (e) { e.preventDefault(); $.ajax({ type: "POST", url: '@Url.Action("Delete", "Student_Experience")', data: JSON.stringify({ id: id }), //use id here dataType: "json", contentType: "application/json; charset=utf-8", success: function () { // alert("Data has been deleted."); location.reload(); $(".demo1").html(result); }, error: function () { alert("Error while deleting data"); } }); }); </script>
мой код кнопки
<input type="submit" id="btnDelete" onclick="DeleteCall(@item.ID)" value="Delete" class="btn btn-sm btn-danger" />
Мой код контроллера
[HttpGet] public ActionResult Delete(int? id) { if (id == null) { return new HttpStatusCodeResult(HttpStatusCode.BadRequest); } Student_Experience student_Experience = db.Student_Experience.Find(id); if (student_Experience == null) { return HttpNotFound(); } // Student_Experience student_Experience = db.Student_Experience.Find(id); db.Student_Experience.Remove(student_Experience); db.SaveChanges(); return RedirectToAction("Create","Students"); // return View(student_Experience); }
Что я уже пробовал:
Как показано выше я попытался написать код но я получаю ошибку при нажатии кнопки Удалить "
Object reference not set to an instance of an object."кроме того, он получает вызов при загрузке страницы, а не при щелчке мыши
F-ES Sitecore
Какая строка выдает ошибку?
Malikdanish
Строка 86: Строка 87:
Строка 88: @foreach (var item in Model)
Строка 89: {
Строка 90:
Andy Lanng
В вашем посте нет никакого "foreach"
F-ES Sitecore
Этот код отсутствует в коде, который вы вставили в свой вопрос. Проверьте, что "модель" не равна нулю, если она равна нулю, выясните, почему.
ZurdoDev
Что-то есть нуль. Это такая простая ошибка, которую нужно исправить, и только вы можете это сделать, потому что мы не можем запустить ваш код. Выясните, что такое null, а затем исправьте это. Легко.
Kornfeld Eliyahu Peter
Это невозможно увидеть в вашем коде, но модель равна нулю (контроллер ее не создавал?)...
Вы должны использовать простые примеры и отладчик...