Frage

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

wobei der Code übersetzt

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

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

warum IE7 meinen Anker fallen lassen?

edit: Ich soll erwähnen, ich dies mit jQuery UI Registerkarte in Verbindung verwenden. Ich will die Postbacks auf die Registerkarte in einem bestimmten Tab.

War es hilfreich?

Lösung

Es wäre ganz der Hack, aber wenn IE nicht verhalten, können Sie dies tun.

als auch eine param geben, z.

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

Dann auf Ihrer Seite (vor dem Körper schließen Tag oder als Onload-Ereignis), nur für IE, extrahieren Sie die Parameter, falls vorhanden und stellen Sie den Hash manuell.

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

Andere Tipps

Vielleicht ist es eine Regression Ausgabe von IE6?

Haben Sie versucht, um daran zu arbeiten indem sie sie mit einem &

Ich benutzen RegisterClientScriptBlock window.location zu erteilen.

So etwas wie folgt aus:

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);
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top