如何删除指定的课程并不是所有员工的课程

时间:2016-09-15 11:27:13

标签: jquery asp.net-mvc-4 linq-to-entities entity-framework-5

问题

在我点击删除课程的编辑视图中,然后点击保存它删除所有课程

我只选择了删除

详情

如果我有课程a,b,c,员工姓名为michel,则删除课程

然后点击保存它删除所有课程b,c也删除

我实际上需要删除分配给删除只意味着删除和剩余的

B,C。看下面的图片,它显示了我需要的东西

模型Cusomemp2

 public class Cusomemp2
    {
        public int Id { get; set; }//employee
        public string Name { get; set; }//employee
        public List<EmployeeCourse> empcourses { get; set; }//employeecourse

    }

在编辑http帖子时我需要点击保存按钮删除仅指定删除

[HttpPost]
        public ActionResult Edit(Cusomemp2 custom)
        {

            var result = db.Employees
                 .Where(p => p.Id == custom.Id)
                 .Include(c => c.EmployeeCourses)
                 .FirstOrDefault();

            if (custom.empcourses.Any())
        {
//in this foreach remove courses(not success)
            foreach (var ec in result.EmployeeCourses.ToList())//to remove existing EmployeeCourses
            {
                db.EmployeeCourses.Remove(ec);
                db.SaveChanges();

            }
        }

            return View();
        }

点击删除课程时,隐藏课程的值为0

以下显示视图模型中的课程列表

            var index = 0;
            $("#CourseId").change(function () {

                var id = $(this).val();
                var txt = $("#CourseId option:selected").text();
                $("#tb").append("<tr><td><input type = 'hidden' name='empcourses[" + index + "].CourseId' value='" + id + "'/></td><td>" + txt + "</td><td><input type='button' value='remove' class='r'</td></tr>")

                index++;
            });
            $("#tb").on("click", ".r", function () {
                $(this).parent().parent().hide();
                $(this).parent().prev().prev().find("input").val("0");
            });

0 个答案:

没有答案