Actuellement, j'ai un code comme suit:Besoin d'aide pour comprendre flux de contrôle avec Event Handlers
protected override void OnLoad(EventArgs e)
{
if(IsAuthorized(param1, param2, ...))
{
//snip
}
else
{
Response.Write("Not authorized");
}
}
protected void MyButton1_Click(object sender, EventArgs e)
{
//snip
}
protected void MyButton2_Click(object sender, EventArgs e)
{
//snip
}
Lorsque l'utilisateur est connecté, ils peuvent aller à la page et court OnLoad. Maintenant, s'ils laissent leur session expirer avec la page toujours ouverte, alors essayez de cliquer sur MyButton1, ils seront accueillis avec "Non autorisé", mais le code dans MyButton1_Click sera toujours exécuté. Quelqu'un pourrait-il m'indiquer comment gérer correctement ce genre de situation? J'ai supposé que je pourrais juste jeter de nouvelles SecurityException(), puis afficher n'importe quelle erreur que je voulais dans le catch (SecurityException), cependant le gestionnaire d'événement fonctionne toujours. Merci d'avance.
Dans la mesure où je peux voir les eventhandlers devraient fonctionner parfaitement? Vous n'avez rien dans votre code qui arrête l'eventhandler dans les boutons pour arrêter d'appeler les événements .. Corrigez-moi si je me trompe :) – Moulde
La question était quelle serait la meilleure façon d'arrêter le flux de contrôle après! IsAuthenticated in OnLoad . J'étais trop compliqué, comme indiqué dans la réponse marquée. –