public object Edit([Bind(Prefix = "")] Course course, string id, string ProfessorList) { ViewData["Title"] = "Edit Course"; ViewData["Message"] = "Edit Course Details!"; var cp = new CourseProvider(); int courseId; try { courseId = Convert.ToInt32(id); } catch (Exception) //not an integer { return RedirectToAction("Index", "Course"); } course = cp.GetCourseByID(courseId); // redisplay form immediately if there are input format errors if (!ModelState.IsValid) { ModelState.CopyValidationExceptions(); PrepareProfessorList(course); return View("Edit", course); } try { UpdateModel(course, new[] { "CourseName", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday", "StartHour", "StartMinute", "EndHour", "EndMinute"}); if (!ProfessorList.Equals("0")) { Professor prof = new ProfessorProvider().GetProfessorByID(Convert.ToInt32(ProfessorList)); course.AssignedProfessor = prof; } else { course.AssignedProfessor = null; } cp.UpdateCourse(course); return View("Saved"); } catch (RuleViolationException vex) { ViewData.ModelState.CopyValidationExceptions(vex); PrepareProfessorList(course); return View(course); } catch (Exception err) { ViewData.ModelState.CopyValidationExceptions(err, "course"); PrepareProfessorList(course); return View(course); } }