На моей странице бритвы в форме у меня есть кнопка, которая при отправке вызывает метод "OnPostEditMe" с параметром "int id":
@{
var idbook = @Html.DisplayFor(a => a.EditBook.Id);
//idbook on page load gets id number of object EditBook when page loads, this works, if I add this value anywhere in razor page it displays correctly
}
<form method="post">
<div class="form-group row">
<div class="col-3 offset-3">
<button asp-page-handler="EditMe" asp-route-id="@idbook" type="submit">
Update @idbook
</button>
</div>
</div>
</form>
Но когда я нажимаю на эту кнопку, он вызывает метод OnPostEditMe, но с параметром "0" вместо значения, которое было загружено с "idbook":
public async Task<IActionResult> OnPostEditMe(int id)
{
var tmp = id; //id is always 0
...
}
Что не так, почему asp -route-id = "@ idbook" не передает параметр, который был загружен на страницу