2012-05-01 48 views
2

私が理解する限り、Response.Redirect("http://stackoverflow.com");はブラウザに別のURLへのリクエストを開始するように指示します。Response.Redirect()は戻るボタンを無効にします

この結果の1つは、ブラウザがリダイレクトを「記憶」し、「戻る」を押すことができることです。

しかし、私はResponse.Redirectが、ブラウザが新しいウィンドウを開いたかのように、ブラウザの "戻る"ボタンを押す機能を無効にするウェブサイトを持っています。 (閲覧履歴はServer.Transferとは異なり)

リダイレクトは過去に正常に動作していたので、問題はIISサーバー(IIS7)と関係していると思われます。

この質問をServerFault.comに移動する必要がある場合は、事前にお詫びします。

UPDATES:ここ

  1. はいくつかのコードです:について

    protected void btnClickMe_Click(object sender, EventArgs e) 
    { 
        // ... 
        // some server-side logic 
        // ... 
    
        Response.Redirect("NewPage.aspx?ProductID=" + idNum); 
    } 
    
  2. 私は何を意味するということである、 "は、ブラウザの[戻る]ボタンを押して機能を無効にします"ボタンを押すことはできません。新しいウィンドウを開くときと同じです。ボタンはグレーで、クリックすると効果はありません。

UPDATE 2

これはIE6とIE8でテストされています。

+2

Response.Redirectにはそのような影響はありません。いくつかのコードを見ることができますか? –

+0

U rが別のサイトにリダイレクトされた場合、新しいセッションが作成されます –

+0

ブラウザの「戻る」ボタンを押す機能を無効にします* *どうしたらどうなりますか?あなたは前のページに到達していますか? –

答えて

0

問題はResponse.Redirect();ではありませんでした。

私がOldPage.aspxにいるとき、私はアドレスバーに新しいURLを入力しました。ブラウザが新しいサイトをロードすると、戻るボタンが無効になりました。

結論:NewPage.aspxへのリダイレクトではなく、OldPage.aspxに問題があります。

これはどうして起こるのかまだ分かりませんが、これはまったく異なる質問です。

0
protected void Page_Load(object sender, EventArgs e) 
    { 
     if (!IsPostBack) //check if the webpage is loaded for the first time. 
     { 
      ViewState["PreviousPage"] = 
     Request.UrlReferrer;//Saves the Previous page url in ViewState 
     } 
    } 
    protected void btnBack_Click(object sender, EventArgs e) 
    { 
     if (ViewState["PreviousPage"] != null) //Check if the ViewState 
         //contains Previous page URL 
     { 
      Response.Redirect(ViewState["PreviousPage"].ToString());//Redirect to 
     //Previous page by retrieving the PreviousPage Url from ViewState. 
     } 
    } 
関連する問題