Элемент, переданный в метод удаления, не удаляйте полностью

#c# #asp.net-mvc #content-management-system

Вопрос:

В моем проекте, когда я хочу удалить группу новостей, она не удаляется .

Это тело метода «Удалить» :

 enter code public bool DeleteGroup(PageGroup pageGroup)
    {
        try
        {
            db.Entry(pageGroup).State=EntityState.Deleted;
         
            return true;
        }
        catch (Exception)
        {

            return false;
        }
    }
 

Это вызовет метод удаления из контроллера :

    @Html.ActionLink("Delete", "Delete", new { id = item.GroupID })
 

Это действие удаления в контроллере :

  public ActionResult Delete(int? id)
    {
        if (id == null)
        {
            return new HttpStatusCodeResult(HttpStatusCode.BadRequest);
        }
       PageGroup pageGroup = PageGroupRepository.GetGroupById(id.Value);
        PageGroupRepository.DeleteGroup(pageGroup);
     
        if (pageGroup == null)
        {
            return HttpNotFound();
        }
        return View(pageGroup);
    }
 

Это кнопка удалить :

  @using (Html.BeginForm()) {
    @Html.AntiForgeryToken()

    <div class="form-actions no-color">
        <input type="submit"  value="Delete" class="btn btn-default" /> |
        @Html.ActionLink("Back to List", "Index")
    </div>
 

В чем проблема ?кнопка удаления или метод удаления ?

Ответ №1:

вы забыли сохранить изменения после удаления:

 public bool DeleteGroup(PageGroup pageGroup)
    {
        try
        {
            db.Entry(pageGroup).State=EntityState.Deleted;
            db.SaveChanges();
            return true;
        }
        catch (Exception)
        {

            return false;
        }
    }