Cześć wszystkim,
Wyświetlam na stronie tablicę z danymi, w jednej z kolumn wyświetlam użytkwonikowi przyciski akcji jak np. "Usuń". Poniżej kod:
<td>
<a class="btn btn-primary"
asp-controller="administrator"
asp-action="EditCategory"
asp-route-id="@category.Id">
Edytuj
</a>
<button type="button" class="btn btn-primary buttonDelete" data-id="@category.Id">
Usuń
</button>
</td>
Kod okna modalnego, które wyświetlam po naciśnięciu "Usuń":
<div id="myModal" class="modal" tabindex="-1" role="dialog">
<div class="modal-dialog" role="document">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title">Usuwanie kategorii</h5>
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">×</span>
</button>
</div>
<div class="modal-body">
<p>Czy na pewno chcesz usunąć kategorię ?</p>
</div>
<div class="modal-footer">
<form method="post">
<button id="modalDeleteButton" type="submit" class="btn btn-primary"
asp-controller="administrator"
asp-action="DeleteCategory"
asp-route-id="">
Usuń
</button>
</form>
<button type="button" class="btn btn-secondary" data-dismiss="modal">Anuluj</button>
</div>
</div>
</div>
</div>
Chciałbym aby po kliknięciu w przycisk "Usuń" na oknie modalnym, usuwała wykonała się akcja DeleteCategory, która z kolei usuwa rekord o id określonym w asp-route-id więc napisałem skrypt:
<script type="text/javascript">
$(".buttonDelete").click(function () {
var ids = $(this).data('data-id');
$('#myModal').modal('show');
$("#modalDeleteButton").attr('asp-route-id', ids )
});
</script>
Modal wyświetla się poprawnie, natomiast po kliknięciu przycisku "Usuń" na modalu - przeładowuje się strona i nic poza tym. Po przedebugowaniu okazuje się, że parametr Id to integer = 0.