2012-11-21 35 views
6

これは何度も尋ねられていると確信しています。そして、はい、私は検索しました。しかし、私が達成しようとしていることを明確に示す例は見つけられません。Response.Redirectを行う正しい方法は、同じサイトのあるページから別のページへ

私は現在mywebsite/test.aspxにおります。mywebsite/testing.aspxにリダイレクトします。しかし、私はこのリダイレクトをサーバー上でもビジュアルスタジオのデバッグ内でも動作させたいと思っています。私は試しました

Response.Redirect(Request.RawUrl.Replace(Request.RawUrl,"testing.aspx")) 

しかし、これはすべてを置き換えます。これは理にかなって

希望 - あなたは、Webサイトのルートからの相対URLを使用することができます

答えて

10

アプリケーションの相対URLを使用します。 ~/はアプリケーションのルートパスを表しますので、//virtual-directory/の両方で動作します。

Response.Redirect("~/testing.aspx"); 
1

mywebsite/testing.aspxmywebsite/test.aspxをリダイレクトする必要があります。 これらのURLは、常に「ルート」

Response.Redirectについては

、あなたが知っている他のURLは、サーバによって処理されることを意味/で始まり、それがルートとして~/でURLを開始する方が良いでしょう(サーバーコントロールで指定されたURLのように)、これは役立ちます仮想ディレクトリを混乱させる。

5

あなたのページはあなただけ使用することができ、同じディレクトリレベルにある場合:

Response.Redirect("~/testing.aspx", false); 

そして最後に:あなたのページには、アプリケーションのルート上にある場合は、次のコマンドを使用することができます

Response.Redirect("testing.aspx", false); 

、ページが現在のページのサブディレクトリ内にある場合は、次のように使用できます。

Response.Redirect("MyFolder/testing.aspx", false); 
関連する問題