ASP.NET MVC 入門 (2) モデル、コントローラ、ビューの追加
モデルを追加する
前回は ASP.NET MVC の概要と、ASP.NET をインストールして、 サイトを作る方法を説明しました。 入門シリーズ第二回目の今回はモデルを追加し、それを表示してみましょう。
Visual Studio との統合も非常に良くできており、ASP.NET MVC を用いて 大変簡単にサイトを構築できることが分かると思います。
こちらは今回の作業のデモです。ビデオで流れをざっと見てから読んでいただけると、わかりやすいと思います。
モデル (Model) を追加する
モデルは Models フォルダに通常の Class として作成します。
ここでは、例として従業員を表す Employee クラスを追加します。
コードは次の通りです。
namespace MvcTest1.Models { public class Employee { public string FirstName { get; set; } public string LastName { get; set; } public int Age { get; set; } public string MailAddress { get; set; } } }
モデルを追加したら、Visual Studio にそれを認識させるために、 一度ビルドしておくと良いです。
コントローラを追加する
モデルを作ったら、Visual Studio 内で Views フォルダ上で右クリックして、 コントローラを新規作成すると良いです。
名前は [モデル名]Controller.cs としますので、EmployeeController.cs です。
以下のように Controllers フォルダの下に EmployeeController.cs が作成されました。
自動的に生成されたコントローラには次のように、Index のみが定義されています。
namespace MvcTest1.Controllers { public class EmployeeController : Controller { // // GET: /Employee/ public ActionResult Index() { return View(); } } }
ビューが無いとデータ (モデル) が表示できないので、詳細ビューを作成する準備をします。 次のように Details を追加します。
public class EmployeeController : Controller { // // GET: /Employee/ public ActionResult Index() { return View(); } public ActionResult Details() { Employee emp = new Employee { Age = 20, FirstName = "Keisuke", LastName = "Oyama", MailAddress = "dadosan@keicode.com" }; return View(emp); } }
Employee を参照するために、次のようにして using MvcTest1.Models を追加すると良いでしょう。
ビュー (View) を追加する
フォルダの作成
上ではモデル Employee に対応するコントローラ、EmployeeController を作成しました。 さらにビューを作るのですが、View は Views フォルダの下にモデルの名前で作成します。
以下のようにフォルダを先に作りましょう。
詳細ビューの作成
Visual Studio 内で Views フォルダ上で右クリックして、ビューを新規作成しましょう。
上で作成した Employee クラスの詳細ビュー (Details) を作成します。
ビューデータクラス (View data class) に先ほど作成した、Employee が表示されない場合は、Visual Studio ソリューションをリビルドしてください。
動作確認
それでは動作を見てみましょう。
ここまでで、コントローラに Details メソッドを追加して、ビューを追加しただけなのですが、 これで動くでしょうか。
/Employee/Details/ にアクセスします。以下のように表示されれば成功です。
確かに Details ページにコントローラから渡した Employee インスタンスが、表示されています。