サンプルアプリケーション作成
さて、前回基本的な知識を学び、今回はViewからControllerへのデータ渡しについても学習したので、実際にサンプルアプリケーションを作成してみます。今回は、基本的なASP.NET MVCのアプリケーション作成方法を学ぶためのチュートリアルなので、テスト部分は次回解説します。
サンプルの流れは以下のとおりです。
- Hello, MVC Framework!の作成(Controller/Viewの追加とポストデータの渡し方の確認)
- スキャフォールディングを利用したデータアクセスアプリケーションの作成
今回はサンプルデータベースとしてPubsを利用します。サンプルを実行する際には、記事内のテーブルを準備してください。
Hello, MVC Framework!の作成
最初にASP.NET MVCにおけるHello,Worldアプリケーションを作成します。
プロジェクトの作成
VS2008でASP.NET MVCアプリケーションを作成します。[ファイル]-[プロジェクトの作成]-[Visual C#(Basic)]-[Web]-[ASP.NET MVC Web Application]を選択し、プロジェクト名を付け(サンプルでは「SampleMvcApplicationCS(VB)」)、[OK]をクリックします(図3)。
続いて「Create Unit Test Project」ダイアログが表示されます(図4)。このダイアログは、単体テストプロジェクトを追加するかどうかを聞いているので、必要な場合はYesを選択します。単体テストについては次回解説します。
プロジェクト作成時のソリューション エクスプローラは次のようになります(図5)。
Model・View・Controllerフォルダが作成され、最低限の設定を行ったファイルが配置されています。ここで、簡単にですが、ASP.NET MVCプロジェクト作成時のプロジェクト構成の注目ポイントについて解説します。
フォルダ/ファイル名 | 概要 |
Content | CSSや画像など、サイトの内容を装飾する項目を格納するフォルダ |
Controllers | Controllerクラスを格納するフォルダ |
Models | Modelを格納するフォルダ |
Scripts | Scriptファイルを格納するフォルダ |
Views | Viewを格納するフォルダ |
Account | 認証系のページを格納するフォルダ |
Home | 実行時のViewサンプルフォルダ |
Shared | 全体に影響するViewページを格納するフォルダ(マスタページなど) |
Global.asax | ASP.NET MVCでは主に、ルーティングルールを設定するファイル |
Scriptsフォルダは、Microsoft AJAX Library、そして、jQuery 1.3.2、MicrosoftMvcAjaxの3種類が格納されいます。プロジェクトテンプレートとして、jQueryが統合されたのはASP.NET MVCが初となります(既存のASP.NETプロジェクトでもjQueryは開発者が追加する必要があった)。ASP.NET MVCでは、サーバーコントロールを使用せず、HTML/CSS/JavaScriptをフル活用したサイト構築が多くなるのでうれしいポイントでもあります。
URLルーティングルールの確認・変更
最初にURLルーティングルールの確認と変更を行います。既定の設定はURLルーティングの項目で解説した通りです。今回のサンプルではPubsControllerクラスを利用するので、controllerにPubsを設定します。また、既定のルートとして、Pubsだけが入力された際には、Helloメソッドを呼び出したいので、actionはHelloと入力します。
// MapRouteメソッドは新しいルーティングルールを // ルートコレクションに追加する // ここでは既定のルートとして // "http://xxx/Pubs/Hello"へとルーティングされる routes.MapRoute( // Route name(ルート名) "Default", // URL with parameters(URLとパラメータ名) "{controller}/{action}/{id}", // Parameter defaults(既定のパラメータ値) new { controller = "Pubs", action = "Hello", id = "" } );
これで、ルーティングの設定は完了です。