Respone.Redirect

Résolu
apacheswiss Messages postés 154 Date d'inscription mercredi 13 octobre 2004 Statut Membre Dernière intervention 22 août 2007 - 8 août 2006 à 23:02
jesusonline Messages postés 6814 Date d'inscription dimanche 15 décembre 2002 Statut Membre Dernière intervention 13 octobre 2010 - 9 août 2006 à 00:46
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

7 réponses

jesusonline Messages postés 6814 Date d'inscription dimanche 15 décembre 2002 Statut Membre Dernière intervention 13 octobre 2010 29
9 août 2006 à 00:04
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
3
jesusonline Messages postés 6814 Date d'inscription dimanche 15 décembre 2002 Statut Membre Dernière intervention 13 octobre 2010 29
8 août 2006 à 23:11
Bonsoir,

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

<hr />Cyril - MVS - MCP
0
apacheswiss Messages postés 154 Date d'inscription mercredi 13 octobre 2004 Statut Membre Dernière intervention 22 août 2007
8 août 2006 à 23:28
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();
     }
}
0
apacheswiss Messages postés 154 Date d'inscription mercredi 13 octobre 2004 Statut Membre Dernière intervention 22 août 2007
9 août 2006 à 00:18
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....
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
apacheswiss Messages postés 154 Date d'inscription mercredi 13 octobre 2004 Statut Membre Dernière intervention 22 août 2007
9 août 2006 à 00:21
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...
0
apacheswiss Messages postés 154 Date d'inscription mercredi 13 octobre 2004 Statut Membre Dernière intervention 22 août 2007
9 août 2006 à 00:29
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
0
jesusonline Messages postés 6814 Date d'inscription dimanche 15 décembre 2002 Statut Membre Dernière intervention 13 octobre 2010 29
9 août 2006 à 00:46
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
0