Introduction
In this post, I am going to implement Basic CRUD (Create, Read, Update, Delete) operations using Jquery ajax and modal popup in ASP.NET MVC4 application.I have split the entire application split into following 3 parts for making things more simple and understandable specially for beginners.
- Part 1 : Perform read functionality of CRUD Operation.
- Part 2 : Perform create and update functionality of CRUD Operation.
- Part 3 : Perform delete functionality of CRUD Operation.
Step-1: Add new action into your controller for get view for Delete contact.
Here I have used "Delete" Action. Please write below codepublic ActionResult Delete(int id) { var c = GetContact(id); if (c == null) { return HttpNotFound(); } return PartialView(c); }
Step-2: Add partial view for the "Delete" Action & design.
Right Click on Shared folder (under Views) > Add > View... > Enter View Name > Select View Engine (Razor) > Check "Create a strong-typed view" > Select your model class > Check "Create as a Partial View" > Add.[N:B:Please Rebuild solution before add view.]
Step-3: Add an another action for POST method for Delete contact from the database.
Please write below code[HttpPost] [ValidateAntiForgeryToken] [ActionName("Delete")] public ActionResult DeleteContact(int id) { bool status = false; string message = ""; using (MyDatabaseEntities dc = new MyDatabaseEntities()) { var v = dc.Contacts.Where(a => a.ContactID.Equals(id)).FirstOrDefault(); if (v != null) { dc.Contacts.Remove(v); dc.SaveChanges(); status = true; message = "Successfully Deleted!"; } else { return HttpNotFound(); } } return new JsonResult { Data = new { status = status, message = message } }; }
Step-4: Add an javascript function (DeleteContact) for Delete Contact
Open javascript file (we have created in part 1 step 7, here "dotnetawesome.CRUDContacts.js") and write following code//Delete Contact function DeleteContact() { $.ajax({ url: '/home/delete', type: 'POST', dataType: 'json', data: { 'id': $('#ContactID').val(), '__RequestVerificationToken': $('input[name=__RequestVerificationToken]').val() }, success: function (data) { alert(data.message); if (data.status) { $dialog.dialog('close'); LoadContacts(); } }, error: function () { $('#msg').html('<div class="failed">Error ! Please try again.</div>'); } }); }Add following jquery code inside $(document).ready for delete contact from database
//Delete Contact $('body').on('submit', '#deleteForm', function (e) { e.preventDefault(); DeleteContact(); });