#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. Решена проблема! Большое вам спасибо!