IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

ASP.NET Discussion :

Response.Redirect() ne fonctionne pas


Sujet :

ASP.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Juillet 2010
    Messages
    21
    Détails du profil
    Informations forums :
    Inscription : Juillet 2010
    Messages : 21
    Par défaut Response.Redirect() ne fonctionne pas
    Bonjour,

    Je rencontre ce problème sur plusieurs pages de mon application : Response.Redirect() ne fonctionne pas. Cependant, ce n'est vrai que dans certains cas spécifiques.

    Par exemple, dans mon Page_Load, je souhaite exécuter une méthode suite à la récupération d'un paramètre passé par url.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    If (String.IsNullOrEmpty(Request.QueryString("param")) = False) Then
         MaMethode(Request.QueryString("param"))
         Response.Redirect("page.aspx")
    End If
    Dans ce cas précis, la redirection ne fonctionne pas. J'ai essayé de mettre le deuxième paramètre de la méthode Redirect à False, mais rien n'y fait.

    De même, après l'appel de cette première méthode, je fais appel à une seconde méthode censée rafraichir les données d'un tableau suite à la modification effectuée sur la base via l'appel de la première méthode. En passant en mode debug, je constate que cette seconde méthode est bien appelée, mais les modifications ne sont pas répercutées sur ma page. Je précise que la première méthode s'éxécute correctement.

    Au final, j'ai un peu l'impression que l'exécution de la page "se bloque" et je ne sais absolument pas d'où cela peut venir.

    Avez-vous une idée ?

    Merci d'avance.

  2. #2
    Membre confirmé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2010
    Messages
    86
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Service public

    Informations forums :
    Inscription : Septembre 2010
    Messages : 86
    Par défaut
    Si ton "tableau" est un DataGridView, cela peut venir d'un problème de .Bind() ce qui fait que les mises à jour ne se font pas.

    Pour ton premier problème, si tu met un point d'arrêt sur le bloc IF est-ce qu'il rentre dedans ?

    Car ta condition peut etre fausse (mauvaises traduction du besoin)
    N'oublie pas également qu'on rentre qu'une seul fois dans le Page_Load (peut-etre ton soucis) et qu'un rafraichissement de la page ne suffit pas (enfin il me semble) et dernière chose

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    If (String.IsNullOrEmpty(Request.QueryString("param")) = False) Then
    equivalent a

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    If (String.IsNullOrEmpty(Request.QueryString("param")) Then
    Bonne journée :-)

  3. #3
    Membre averti
    Inscrit en
    Juillet 2010
    Messages
    21
    Détails du profil
    Informations forums :
    Inscription : Juillet 2010
    Messages : 21
    Par défaut
    Citation Envoyé par Rhend Voir le message
    Si ton "tableau" est un DataGridView, cela peut venir d'un problème de .Bind() ce qui fait que les mises à jour ne se font pas.
    Non, rien à voir. Il s'agit d'un simple tableau composé de contrôles TableRow et TableCell.

    Citation Envoyé par Rhend Voir le message
    Pour ton premier problème, si tu met un point d'arrêt sur le bloc IF est-ce qu'il rentre dedans ?
    Oui.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    If (String.IsNullOrEmpty(Request.QueryString("param")) = False) Then
    equivalent a

    Citation Envoyé par Rhend Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    If (String.IsNullOrEmpty(Request.QueryString("param")) Then
    La valeur testée par défaut dans une condition If est toujours "True", donc ce n'est pas du tout la même chose.
    Dans le premier cas la condition sera validée si le paramètre n'est ni null ni vide, dans le second si le paramètre est null ou vide.

  4. #4
    Membre très actif
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2007
    Messages
    871
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Février 2007
    Messages : 871
    Par défaut
    Salut,

    Tout d'abord :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Response.Redirect("monRul",false);
    ou
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Response.Redirect("monRul");
    C'est la même chose: la redirection sera effectué à la fin du chargement de la page par le client web.

    Enfin: si tu veux arrêter brutalement sans charge complètement ta page il faut faire faire un :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Response.Redirect("monRul",true);
    , qui lancera une exception à laisser passer.

  5. #5
    Membre éprouvé
    Inscrit en
    Septembre 2007
    Messages
    1 137
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Septembre 2007
    Messages : 1 137
    Par défaut
    essaye un Response.Redirect("~/mapage.aspx")

  6. #6
    Rédacteur
    Avatar de lutecefalco
    Profil pro
    zadzdzddzdzd
    Inscrit en
    Juillet 2005
    Messages
    5 052
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : zadzdzddzdzd

    Informations forums :
    Inscription : Juillet 2005
    Messages : 5 052
    Par défaut
    Tu rentres bien ton if au moins?

  7. #7
    Membre averti
    Inscrit en
    Juillet 2010
    Messages
    21
    Détails du profil
    Informations forums :
    Inscription : Juillet 2010
    Messages : 21
    Par défaut
    Citation Envoyé par tortuegenie Voir le message
    essaye un Response.Redirect("~/mapage.aspx")
    Cela ne change rien au problème.

  8. #8
    Membre confirmé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2010
    Messages
    86
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Service public

    Informations forums :
    Inscription : Septembre 2010
    Messages : 86
    Par défaut
    Citation Envoyé par Daklum Voir le message
    La valeur testée par défaut dans une condition If est toujours "True", donc ce n'est pas du tout la même chose.
    Dans le premier cas la condition sera validée si le paramètre n'est ni null ni vide, dans le second si le paramètre est null ou vide.
    Bah je ne suis pas aller jusqu'a mettre If Not parce que ca me semblait evident dans ce que je disais Mais j'aurais du le mettre effectivement ^^

Discussions similaires

  1. [PHP 5.2] La redirection ne fonctionne pas
    Par beegees dans le forum Langage
    Réponses: 1
    Dernier message: 17/05/2009, 20h39
  2. [URL rewriting] la redirection ne fonctionne pas
    Par jobo13 dans le forum Apache
    Réponses: 2
    Dernier message: 08/03/2009, 18h51
  3. redirections ne fonctionne pas
    Par Invité dans le forum Langage
    Réponses: 4
    Dernier message: 22/09/2006, 10h05
  4. [CSV] Redirection ne fonctionne pas
    Par Brizzio dans le forum Langage
    Réponses: 12
    Dernier message: 16/12/2005, 10h55
  5. [DOS] Redirection ne fonctionne pas
    Par Pedro dans le forum Langage
    Réponses: 15
    Dernier message: 13/06/2005, 08h45

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo