2011-07-11 3 views
5

ページの2つの異なる名前で同じページにアクセスする必要があります。2つの異なるURLからアクセスできるように、ASPXページにエイリアスを付けることはできますか?

例:

CustomersDetail.aspxはエイリアス名PartnersDetail.aspx

CustomersDetail.aspxは実際のファイルであるを使用してアクセス可能である必要があります。

次のURLの両方が同じページにマップする必要があります。

http://www.example.com/CustomersDetail.aspx  
http://www.example.com/PartnersDetail.aspx 

はのWeb.Configを使用して、このことは可能ですか?これが可能であれば、ページはリクエストuriを見てどのURLからアクセスされたかを知ることができますか?

答えて

7

4GuysFromRollaん非常に読みやすく、容易にメンテナンス可能なURLマッピングを可能にするweb.config内のASP.NET 2.0のURLマッピングの方法を説明する優れた仕事です。私が探しているそうでもないものを

<urlMappings enabled="true"> 
    <add url="~/PartnersDetail.aspx" mappedUrl="~/CustomersDetail.aspx" /> 
</urlMappings> 
1

きれいな解決策が見つからず、2番目のページを作成せずにResponse.Redirect(ページが必要な場合)を作成しないとURLリライトに深入りしたくない場合は、CustomersDetail .aspx - そのURLが表示されます)またはServer.Transfer(必要なページとURL http://www.example.com/PartnersDetail.aspxが表示されます)をPage_Loadに挿入しますか?

+0

+1を、私はそれが私のために働くだろうと思う:

基本的に、あなたはsystem.webセクションの内側にあなたのweb.configファイルに次のように置くことになるでしょう。もっと良い解決策が出てこないのならば、私はこれを答えとして受け止めてしまうかもしれません。 –

1

また、各ページにUserControlsを配置することもできます。

私はあなたが望む名前で両方のページを作成して、実際のコンテンツをUserControl内に配置できるということを意味しました。その後、両方のページにUserControlを配置します。コンテンツを変更したい場合は、UserControlで変更するだけで、複製されます。

私はこれが最良の解決策ではないことを知っていますが、すぐにaspxページが必要な場合はうまく動作します。あなたはアプリケーションの起動時にGlobal.asaxの中RouteTable.Routesコレクションにエントリを追加することができます使用している(3.5で導入)の.NET FrameworkのバージョンにDepeding

+0

それはどういう意味ですか? –

+0

私はあなたが望む名前で両方のページを作成し、実際のコンテンツをUserControlの中に配置できるということを意味しました。その後、両方のページにUserControlを配置します。コンテンツを変更したい場合は、UserControlで変更するだけで、複製されます。 – ClayKaboom

+0

+1はい、うまくいくだろうが、Stephen Mesaが私のためにうまくいく答えを投稿した。ありがとう! –

3

protected void Application_Start(object sender, EventArgs e) 
    { 
     RegisterRoutes(RouteTable.Routes); 
    } 

    void RegisterRoutes(RouteCollection routes) 
    { 
     routes.MapPageRoute("DetailReRoute", 
      "PartnersDetail.aspx", //Virtual Page 
      "~/CustomersDetail.aspx", //Physical Page 
      false, null, null); 
    } 
+0

これを試してみよう!私はそれがどのように進むのかを知らせます。 –

+0

+1これはプログラマチックな方法として機能すると思いますが、別のユーザーが自分のニーズに合ったweb.configソリューションを投稿しました。誰かがこれは役に立つと思うでしょうが、ありがとう! –

関連する問題