- PR -

Web.configでエイリアス

1
投稿者投稿内容
Sampo
会議室デビュー日: 2008/07/03
投稿数: 18
投稿日時: 2008-12-08 14:40
いつもお世話になっています。
ASP.NET 2.0 / VS2008 / C# でのウェブ開発です。

ASP.NETで作成したとあるウェブページ /VDir/dir/page.aspx があったとします。
このページを、他システムからの呼び出しの都合上別のURLパス名 /VDir/another_dir/another_page.aspx という名前でも呼び出せるようにしたいと思います。

Page_Load(){ Response.Redirect("~/dir/page.aspx"); }

と書いただけのanother_page.aspx.cs を置くのでも実現できるのですが、Web.configで「このパス名でのアクセスはこのクラスへの表示リクエストだと見なす」的な設定を一括してはできないものでしょうか?

<system.web><httpHandlers>
<add verb="*" path="another_dir/another_page.aspx" type="VDir.dir.page, VDir" />
で何とかなりそうだと当初試してみたのですが、これだと目的のクラス(VDir.dir.page)は呼ばれたものの正常に実行されません(中身のコントロールがまったく初期化されないまま実行されようとしてNullReferenceで終わってしまいました)。
どっとねっとふぁん
ぬし
会議室デビュー日: 2005/02/23
投稿数: 935
投稿日時: 2008-12-08 15:30
urlMappingsが使えそうな気がします。
http://msdn.microsoft.com/ja-jp/library/ms228302(VS.80).aspx

試してないので希望どおりの動きをするかどうかわかりませんが。

#最初の表示はともかく、PostBack時にURLが書き換わるかもしれないな。。。

ちなみにHttpHandlerは拡張子にたいしてどのクラスを呼び出すか、という
設定ですから、こういった場合には利用できません。
Sampo
会議室デビュー日: 2008/07/03
投稿数: 18
投稿日時: 2008-12-08 15:38
urlMappingで完璧でした。

PostBack時には本来のURLになるところまで含めて希望通りです。
1

スキルアップ/キャリアアップ(JOB@IT)