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

上記のコードはに変換されます

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

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

IE7 がアンカーをドロップするのはなぜですか?

編集:これをjQuery UIのタブコントロールと組み合わせて使用​​していることに言及する必要があります。ポストバックを特定のタブに移動したい。

4

3 に答える 3

1

多分それはIE6からのリグレッションの問題ですか?

&を前に付けて回避しようとしましたか?

于 2009-01-01T16:46:02.387 に答える
1

それはかなりのハックですが、IEが動作していない場合は、これを行うことができます。

パラメータも渡します。例:

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

次に、ページで(body closeタグの前、またはonloadイベントとして)、IEの場合のみ、パラメーターが存在する場合はそれを抽出し、手動でハッシュを設定します。

<!--[if IE]>
<script>
  if(document.location.href.indexOf('&hash=') != -1){
    //extract value from url...
    document.location.hash = extractedValue;
  }
</script>
<![endif]-->
于 2009-01-01T23:50:53.107 に答える
0

RegisterClientScriptBlock発行していwindow.locationました。

このようなもの:

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);
于 2011-11-09T18:50:15.273 に答える