Ну, во-первых, я не верю, что ==>
- это правильный синтаксис .... или любой другой синтаксис для этого случая.
Два: Здесь вы говорите, что когда на него нажимают
@Html.ActionLink("Delete", "Delete", new { })
Вызовите метод Delete
. Но Delete
ожидает параметр id
, который вы не предоставляете. Также нет смысла делать это new { }
, если вы ничего не передаете.
Однако, если вы хотите, чтобы этот метод принимал параметр, а не параметр, вы можете присвоить параметру значение, такое как:
public IActionResult Delete(string id = "") // Set to empty string
Вместо <a asp-controller="Home" asp-action="Delete" asp-route-id="@item" class="btn btn-danger">Delete</a>
пробовали ли вы использовать @Url.Action()
? Я нахожу это намного проще, так как все, что вам нужно сделать, это:
@Url.Action("Delete", "Home", new {id = @item}) // Assuming that `@item` is a string
IE
<a href="@Url.Action("Delete", "Home", new {id = @item})" class="btn btn-danger">