J'ai un bon nombre de pages que je veux déterminer si je dois autoriser l'exécution de OnPost().

Je me demandais si vous pouviez/quel était le meilleur moyen d'exécuter un bloc de code avant que le OnPost() n'ait lieu pour potentiellement bloquer l'appel OnPost() ?

Je sais que vous pouvez faire une vérification en haut de chaque OnPost() et appeler une méthode objet/classe pour dicter, mais existe-t-il un autre moyen qui s'exécuterait avant même que le OnPost() ne soit exécuté pour un ensemble spécifique de pages ?

(En utilisant Razor Pages, pas MVC)

0
user14203163 8 nov. 2020 à 02:20

1 réponse

Meilleure réponse

Vous pouvez utiliser un filtre pour exécuter du code après la sélection de la méthode du gestionnaire, mais avant son exécution :

public override void OnPageHandlerSelected(PageHandlerSelectedContext context)
{
    if(context.HandlerMethod.MethodInfo.Name == nameof(OnPost))
    {
        // code placed here will only execute if the OnPost() method has been selected
    }
}

https://www.learnrazorpages.com/razor-pages/filters

1
Mike Brind 8 nov. 2020 à 08:08