読者です 読者をやめる 読者になる 読者になる

Dynamic Dataのルーティング

ASP.NET

Dynamic Dataでは、System.Web.Routingクラスを利用して、モデルに対して定義されたテーブルは全て、PageTemplatesフォルダ内のaspxファイルにルーティングされるようになっています。この辺り結構込み入ってるんですが、例外があります。
それは、カスタムページ。

上記のソリューションエクスプローラのようにCustomPagesフォルダはプロジェクト作成時に用意されています。
そのフォルダ直下に"テーブル名"フォルダを作成し(画像内ではCustomer)、そのフォルダ内にPageTemplatesフォルダ内のaspxファイルから、利用したい物をコピーして配置すると。。。
実行時にテーブル名をクリックしても、PageTemplatesフォルダ内のaspxファイルでは無く、CustomPagesフォルダ内に配置されたaspxファイルにルーティングされるわけです。

上記の図でCustomerをクリックすると、"~/PageTemplates/List.aspx"ではなく"~/CustomPages/Customer/List.aspx"へとルーティングされます。
ちょっと面白いですね。なんでこの汎用的な動作ができるのか現在調べてます。