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 件のコメント:
コメントを投稿