Как удалить объект из базы данных в ASP.NET MVC?

#c# #asp.net #asp.net-mvc #asp.net-core #.net-core

#c# #asp.net #asp.net-mvc #asp.net-ядро #.net-ядро

Вопрос:

Я хочу удалить объект из своей базы данных, используя ASP.NET MVC. Я подключился к базе данных с помощью Entity Framework. Я создал этот код для своего названного контроллера Delete .

 // DELETE-POST
[HttpPost]
[ValidateAntiForgeryToken]
public IActionResult Delete(int? id)
{
    var obj = _db.Project.Find(id);

    if(obj == null)
    {
        return NotFound();
    }

    _db.Project.Remove(obj);
    _db.SaveChanges();

    return RedirectToAction("Index");
}
 

Затем я создал кнопку со ссылкой на мой контроллер

 <a asp-action="Delete" class="btn btn-danger btn-lg text-white w-30">Delete</a>
 

Я ожидал, что мой объект должен исчезнуть. Но у меня возникает проблема, когда я нажимаю кнопку. Он возвращает только пустой сайт с сообщением о том, что сайт не работает.

У кого-нибудь есть идеи, почему?

Ответ №1:

Вы должны добавить идентификатор в свой тег ancor. Попробуйте использовать это:

 <a asp-controller="...Controller"   asp-action="Delete" 
       asp-route-id="@Model.Id" class="btn btn-danger btn-lg text-white w-30">
Delete</a>
 

Ответ №2:

Вам нужно передать идентификатор из представления.

 <a asp-action="Delete" asp-route-id="@Model.Id" class="btn btn-danger btn-lg text-white w-30">Delete</a>
 

Комментарии:

1. Решена проблема! Большое вам спасибо!