Question

Response.Redirect(string.Format("myprofile.aspx?uid={0}&result=saved#main",user.UserID));

ledit code se traduit par

IE7 - monprofil.aspx? uid = 933fdf8e-1be0-4bc2-a269-ac0b01ba4755 & résultat = sauvegardé

FF - myprofile.aspx? uid = 933fdf8e-1be0-4bc2-a269-ac0b01ba4755 & result = saved # main

pourquoi IE7 jette-t-il mon ancre?

edit: je devrais mentionner que je l'utilise conjointement avec le contrôle de tabulation de jQuery UI. Je souhaite que la publication se place dans un onglet spécifique.

Était-ce utile?

La solution

Ce serait un sacré coup, mais si IE ne se comportait pas, vous pourriez le faire.

passer également un paramètre, par exemple

uid=933fdf8e-1be0-4bc2-a269-ac0b01ba4755&result=saved&hash=main#main

Ensuite, sur votre page (avant la balise body close ou en tant qu'événement onload), uniquement pour IE, extrayez le paramètre s'il est présent et définissez le hachage manuellement.

<!--[if IE]>
<script>
  if(document.location.href.indexOf('&hash=') != -1){
    //extract value from url...
    document.location.hash = extractedValue;
  }
</script>
<![endif]-->

Autres conseils

Peut-être que c'est un problème de régression de IE6?

Avez-vous essayé de contourner le problème en l'ajoutant au début avec un & amp;?

J'ai utilisé RegisterClientScriptBlock pour générer window.location .

Quelque chose comme ça:

string url = String.Format("{0}RegForm.aspx?regId={1}#A", this.CurrentFolderUrl, this.RegId);

Page.ClientScript.RegisterClientScriptBlock(this.GetType(), "redirectToClientPage", String.Format("window.location='{0}'", url), true);
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top