29-10 Confirmation de suppression
Pour le message de confirmation, on pourrait faire usage de Bootstrap directement on encore de confirm en JavaScript. Nous venons d'installer Blazor.Bootstrap, nous pourrions l'utiliser pour afficher un message de confirmation!
Il existe un composant ConfirmDialog dans Blazor.Bootstrap que nous pouvons utiliser pour une situation du genre.
-
Ajoutez une référence à
ConfirmDialogdans le composantShow@code {
[Parameter]
public int Id { get; set; }
private string? alertMessage;
private EvenementDto? _evenementDto;
private ConfirmDialog _confirmDialog; -
Dans le haut de la page, ajoutez une balise
ConfirmDialogfaisant référence à l'attribut du composant.@page "/evenements/{Id:int}"
@using System.Net
@using Snowfall.Application.Dtos.Evenements
@using Snowfall.Web.Admin.HttpClients
@inject EvenementHttpClient EvenementHttpClient
@inject ToastService ToastService
@inject NavigationManager NavigationManager
//highlight-next-line
<ConfirmDialog @ref="_confirmDialog" /> -
Pour afficher le message de confirmation, utilisez
ShowAsyncsur_confirmationDialogSnowfall.Web.Admin/Pages/Evenements/Show.razorasync Task SupprimerEvenement()
{
bool confirmation = await _confirmDialog.ShowAsync(
title: "Confirmation",
message1: "Êtes-vous certain de vouloir supprimer cet événement?");
// ...infoPlusieurs paramètres peuvent être passés, dont un titre et un message.
-
Si vous essayez, vous remarquerez toutefois que les boutons sont en anglais et que l'événement est supprimé peu importe le bouton appuyé.

-
Pour le text des boutons, on peut utiliser un objet d'options
async Task SupprimerEvenement()
{
ConfirmDialogOptions options = new ConfirmDialogOptions
{
YesButtonText = "Confirmer",
NoButtonText = "Annuler"
};
bool confirmation = await _confirmDialog.ShowAsync(
title: "Confirmation",
message1: "Êtes-vous certain de vouloir supprimer cet événement?",
options); -
Finalement, on peut utiliser le retour
confirmationpour supprimer ou non.
Vous devrez compléter cette portion vous-même. Utilisez la valeur booléenne
confirmationpour déclencher le processus de suppression ou non.
Terminé! 😅
