Pregunta

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

dicho código se traduce a

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

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

¿Por qué IE7 suelta mi ancla?

editar: debo mencionar que estoy usando esto junto con el control de pestañas de la interfaz de usuario de jQuery. Quiero que la devolución de datos se tabule en una pestaña específica.

¿Fue útil?

Solución

Sería un gran truco, pero si IE no se comporta, podrías hacerlo.

también pasa un parámetro, por ejemplo

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

Luego, en su página (antes de la etiqueta de cierre del cuerpo, o como un evento onload), solo para IE, extraiga el parámetro si está presente y configure el hash manualmente.

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

Otros consejos

¿Quizás sea un problema de regresión de IE6?

¿Intentaste trabajando alrededor de esto anteponiéndolo con un & amp ;?

Utilicé RegisterClientScriptBlock para emitir window.location .

Algo como esto:

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);
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top