ahmed_sa Ответов: 1

Как снять магазин курсы идентификаторы в Редактировать пост контроллер


В редактирования HTTP-запрос POST мне надо удалить курсы храниться в переменной идентификаторы

Примечание мне нужно удалить выбранные курсы а не редактировать


http://www.mediafire.com/view/awe5t3xlh6ghbgx/remove_ids_courses.jpg[^]

в jquery я храню значения удаленных курсов в переменной ids

предположим я удалил photoshop и flash он будет хранить значение 3,4 в переменной ids

ниже кода при нажатии кнопки Удалить он сохраняет значения курсов удаленных в идентификаторах переменных как

массив

$("#tb").on("click", ".r", function () {  
$(this).parent().parent().hide();  
$(this).parent().prev().prev().find("input").addClass("remove");  
var ids = [];  
var i = 0;  
$(".remove").each(function () {  
ids[i] = $(this).val();  
i++;  
});  
for (var k = 0; k < ids.length; k++) {  
alert(ids[k]);  
}  
});  


я покажу курсов на одного работника от EmployeeCourse стол в редактирование сделать следующим образом

var index = 0;  
$.ajax({  
url: "/Employeedata/getcoursesbyempid",  
data:{x:$("#hid").val()},  
success: function (res) {  
$.each(res, function (i, e) {  
$("#tb").append("<tr><td><input type = 'hidden' name='empcourses[" + index + "].CourseId' value='" + e.Id + "'/></td><td>" + e.CourseName + "</td><td><input type='button' value='remove' class='r'/></td></tr>")  
index++;  
});  
}  
})  
public JsonResult getcoursesbyempid(int x)  
{  
db.Configuration.ProxyCreationEnabled = false;  
var data = db.EmployeeCourses.Where(a => a.EmployeeId == x).Join(db.Courses, a => a.CourseId, b => b.Id, (a, b) => new { Id = a.CourseId, CourseName = b.CourseName });  
return Json(data, JsonRequestBehavior.AllowGet);  
} 


мой режим используется следующим образом

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


при удалении курсов в edit HTTPPOST то что я пишу здесь

[HttpPost]  
public ActionResult Edit(Cusomemp2 custom)  
{  
//what i write to remove courses saved in ids from table EmployeeCourse  
return View();  
}  


Что я уже пробовал:

как снять магазин курсы идентификаторы в Редактировать пост контроллер

1 Ответов

Рейтинг:
0

David_Wimbley

Я не очень ясно понимаю все, что вы выложили, но чтобы просто удалить курсы из вашей таблицы курсов, вам нужно сделать что-то вроде

[HttpPost]  
public ActionResult Edit(Cusomemp2 custom)  
{  
//what i write to remove courses saved in ids from table EmployeeCourse  

// I think you are storing the ID's of courses to remove in a string. It isn't clear from your model how that is stored so I'm going to fake it here.

var idsToRemove = "1,2";
var splitIds = idsToRemove.Split(',');

foreach(var id in splitIds)
{
    var delete = context.EmployeeCourse.FirstOrDefault(m=>m.EmployeeId == custom.EmployeeId && m.CourseId == id);
    if(delete != null)
    {
        context.EmployeeCourse.Remove(delete);
    }
}

context.SaveChanges();

return View();  
}  


ahmed_sa

только мне нужно спросить, Как получить значения удаленных курсов, хранящихся в переменной ids, из представления в контроллер в разделе edit http post action
действие edit http post представляет собой то, что я пишу, когда нажимаю кнопку СОХРАНИТЬ, чтобы удалить курсы
выбран из таблицы EmployeeCourse в базе данных