Respone.Redirect [Résolu]

Signaler
Messages postés
154
Date d'inscription
mercredi 13 octobre 2004
Statut
Membre
Dernière intervention
22 août 2007
-
Messages postés
6814
Date d'inscription
dimanche 15 décembre 2002
Statut
Modérateur
Dernière intervention
13 octobre 2010
-
Bonjour, lors d'un Response.Redirect...
J'ai l'erreur suivante que je ne comprends pas...

Unable to evaluate expression because the code is optimized or a native frame is on top of the call stack

Quelqu'un pourrrais-t-il m'aider???

Merci beacoup
A voir également:

7 réponses

Messages postés
6814
Date d'inscription
dimanche 15 décembre 2002
Statut
Modérateur
Dernière intervention
13 octobre 2010
28
Evite de mettre les reponse.redirect dans les bloc try/catch surtout que la y'a pas de raisons que ca plante :-) et met response.redirect( ... , true) sinon le thread continue quand meme ... :-/

t'es sur que sUrl est bon ?

<hr />Cyril - MVS - MCP
Messages postés
6814
Date d'inscription
dimanche 15 décembre 2002
Statut
Modérateur
Dernière intervention
13 octobre 2010
28
Bonsoir,

on peut voir la partie du code que tu utilises ? car la je ne vois pas pourquoi ca planterais :-/

<hr />Cyril - MVS - MCP
Messages postés
154
Date d'inscription
mercredi 13 octobre 2004
Statut
Membre
Dernière intervention
22 août 2007

Alors.... l'erreur venait de ce que tu m'as donnle comme lien...
si je faisait Response.Redirect (url)..... ERREUR
Response.Redirect(url,true)..... ERREUR
Response.Redirect(url,false).... OK.... mais ce semble pas s'éxecuter....

c'est tjs pour mon problème de postback avec la grille.... le prerender ne marche pas... donc je dois passer par le redirect...

mon code:

protected

void cboLists_SelectedIndexChanged(object sender, EventArgs e)
{
    try{
           this.WebGrid.ID = "stat" + this.cboLists.Text;
           if (this.IsPostBack){
                   Session["StatGridId"] = this.WebGrid.ID;
                   string sUrl = this.oSession.sUrlRoot + "Statistics/Extract/default.aspx";
                   Response.Redirect(sUrl, false);
           }
     }
     catch (System.Exception ex){
             LogTrace("cboLists_SelectedIndexChanged: " + ex.Message.ToString();
     }
}
Messages postés
154
Date d'inscription
mercredi 13 octobre 2004
Statut
Membre
Dernière intervention
22 août 2007

le problème est ok.... en fet... j'ai dus faire une magouille... car dans l'init de la page si ce n'est pas un postback... je chargeais la grille correspondant à l'index 0 de dropdownlist...
donc je chargeais tjs la même...

merci beaucoup... alors quand peut-on utiliser le redirect juste avec l'URL?? ailleure ca ne ma jamais déranger....
Messages postés
154
Date d'inscription
mercredi 13 octobre 2004
Statut
Membre
Dernière intervention
22 août 2007

excuse moi.... javais pas fait attention....
si je mets response.redirect( ... , true), ca me fait l'erreur que j'ai indiquer dans mon poste...
et dans le lien que tu m'avais donner (qui as disparus) il dise de le mettre a false..

je n'y comprends plus rien...
Messages postés
154
Date d'inscription
mercredi 13 octobre 2004
Statut
Membre
Dernière intervention
22 août 2007

Alors réponse trouvée...
C'est bien le try catch qui pose problème... si le redirect est dans un try catch, il faut mettre false... sinon pas besoin...

Merci beaucoup pour ton aide...
bonne nuit
Messages postés
6814
Date d'inscription
dimanche 15 décembre 2002
Statut
Modérateur
Dernière intervention
13 octobre 2010
28
Oups, je suis fatigué je crois :p

donc response.redirect(toto, true) c'est la meme chose que response.redirect(toto) en interne il appelle la premiere méthode avec le true. Le boolean permet d'indiquer de killer le thread courant.

Si tu le met dans un bloc try/catch il vaut mieux éviter de killer le thread courant c'est pour ca qu'il faut rajouter response.redirect(toto, false);

J'espere que je me suis un peu moins emmelé les pinceaux cette fois ci :-)

<hr />Cyril - MVS - MCP