| |||||||||||||||||||||
サイト内検索
カスタム検索
|
.NET Framework による開発
» ASP.NET MVC 入門 (2) モデル、コントローラ、ビューの追加
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 インスタンスが、表示されています。 | ||||||||||||||||||||
© 2008-2010 小山圭介 All Rights Reserved. |
|||||||||||||||||||||