2010年4月28日水曜日

Areaを使ってみる その1

ASP.NET MVC 2の新しい機能であるAreaを使って、新しいエイリアスを追加した。今回はその方法を解説しよう。

Area自体を追加するのは至極簡単。Areaを追加したいプロジェクトを右クリック→Add→Areaで下図のダイアログが表示されるので名前を適当に入力してOK。


入力した名前のフォルダがAreasフォルダの下に下図のようにできる。


初期状態でControllers, Models, Viewsとフォルダがあるが、Viewsを除いてすべて空っぽだ。注目したいのはSandboxAreaRegistration.csだ。このクラスで追加したArea用のAreaNameとRouteを設定する。

最後に、とても重要なのだが、Global.asaxに下記のコードを追加する必要がある。

public static void RegisterRoutes(RouteCollection routes)
{
 AreaRegistration.RegisterAllAreas();
}

このコードを忘れると追加したAreaのRouteが登録されないので注意しよう。AreaRegistration.RegisterAllAreas()が呼ばれるとフレームワークがAreaRegistrationを継承したクラスがないかを探し回ってRouteを登録していくという寸法だ。以上でAreaの追加は完了だ。適当なControllerを新しく追加したAreaに登録し下記のようにアクセスしてみよう。

従来のリンク
http://www.my-clip.net/Clip/Index/

新しいAreaへのリンク
http://www.my-clip.net/Sandbox/MrGengo/Index/

次回はArea間のActionLinkなどについて解説する。

0 件のコメント:

コメントを投稿