VisualStuidioCommunity2015/Fw4.5.2/C#
前回はビュー変数を使用して、ビューに「Hello World」 を表示しました。
今回はモデルを使用して、ビューに「Hello World」を表示します。
モデルの作成
まずはモデルから作成します。Modelsフォルダを右クリックし、コンテキストメニューから「クラス」を選択します。
ファイル名は「HelloViewModel.cs」とします。
ビューに表示する文字列を取得および設定する「Message」プロパティを定義します。
Models/HelloViewModel.cs
using System; using System.Collections.Generic; using System.Linq; using System.Web; namespace Practice01_Begin.Models { public class HelloViewModel { public String Message { get; set; } } }
モデルを作成したら、一旦ビルドしておきます。
コントローラの作成
前回まで使用していたコントローラー「HelloControler」に新たにアクションメソッド「ShowModel」を追加します。17行目で、先ほど作成したHelloViewModelクラスのオブジェクトを作成し、
18行目で、Messageプロパティに「Hello World」を設定しています。
29行目では、Viewメソッドの引数にHelloViewModelオブジェクトを指定して、ビューを表示します。
Controllers/HelloControler.cs
using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.Mvc; namespace Practice01_Begin.Controllers { public class HelloController : Controller { //・・・前回までのコードは省略 public ActionResult ShowModel() { //HelloViewModelオブジェクトを作成し初期値を設定する Models.HelloViewModel mdl = new Models.HelloViewModel(); mdl.Message = "Hello World"; //モデルを指定してビューを表示する return View(mdl); } } }
ビューの作成
最後にビューを作成します。コントローラーのアクションメソッド「ShowModel」にカーソルを置いた状態で右クリックし、コンテキスメニューより「ビューの追加」をクリックします。
「ビューの追加」ダイアログで、以下の項目を設定します。
・ビュー名: ShowModel
・テンプレート: Empty
・モデルクラス: HelloViewModel
・レイアウトページの使用:チェックON
テンプレートをデフォルトの「Empty(モデルなし)」から「Empty」を選択すると、モデルクラスが選択できるようになります。
作成したビューのコードを見てみましょう。
1行目に「@model Practice01_Begin.Models.HelloViewModel」と記述されています。
Viewメソッドでモデルを受け渡す場合は、@modelディレクティブで使用するモデルを宣言しておきます。
9行目ではModelプロパティでHelloViewModelモデルのMessageプロパティの値を出力しています。
Views/Hello/ShowModel.cshtml
@model Practice01_Begin.Models.HelloViewModel @{ ViewBag.Title = "ShowModel"; }ShowModel
@Model.Message
デバッグ実行して、ShowModelビューに Hello World が表示されることを確認します。
0 件のコメント:
コメントを投稿