// For http://stackoverflow.com/questions/1248183/how-can-i-use-html-checkbox-to-delete-repeating-groups-in-asp-net-mvc [AcceptVerbs(HttpVerbs.Post)] public ActionResult Create(FormCollection collection) { // Model binding: var newEmployee = new Models.Employee(); var newChildren = new List(); var childrenToDelete = new List(); UpdateModel(newEmployee, "Model.Employee"); UpdateModel(newChildren, "Model.Child"); UpdateModel(childrenToDelete, "childrenToDeleteCheckbox"); // The "Add Child" button was clicked: if (collection["button1"] == "Add Child") { if (collection["AdditionalChild"] != "") { // Add the child: newChildren.Add(new Models.Child { Name = collection["AdditionalChild"], Parent = newEmployee.Name } ); } // Follow the ViewModel pattern and return it to the View: var employeeChildrenViewModel = new Models.EmployeeAndChildrenViewModel(); employeeChildrenViewModel.Employee = newEmployee; employeeChildrenViewModel.Children = newChildren; return View(employeeChildrenViewModel); } // The "Delete selected children" button was clicked: if (collection["button1"] == "Delete selected children") { foreach (string child in childrenToDelete) { if (child == "false") continue; var temp = child; var qResult = (from q in newChildren where q.Name == temp select q).First(); newChildren.Remove(qResult); } // Follow the ViewModel pattern and return it to the View: var employeeChildrenViewModel = new Models.EmployeeAndChildrenViewModel(); employeeChildrenViewModel.Employee = newEmployee; employeeChildrenViewModel.Children = newChildren; return View(employeeChildrenViewModel); } // Add code to actually add the new Employee here... return RedirectToAction("Index"); }