Pergunta

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

referido código traduz

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

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

Por que IE7 largar a minha âncora?

edit: Eu devo mencionar que estou usando isso em conjunto com controle guia do jQuery UI. Eu quero a postagem para a guia em uma guia específica.

Foi útil?

Solução

Seria muito o hack, mas se o IE não está se comportando, você poderia fazer isso.

passar um param assim, por exemplo.

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

Em seguida, na sua página (antes da tag do corpo perto, ou como um evento de carregamento), apenas para o IE, extrair o parâmetro se presente e definir o hash manualmente.

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

Outras dicas

Talvez seja uma questão de regressão do IE6?

Você tentou trabalhar em torno dele precedendo-a com um &?

Eu costumava RegisterClientScriptBlock a questão window.location.

Algo parecido com isto:

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 em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top