.NET開発者のためのブログメディア
ASP.NET MVC 5を使ってコントローラーからデータにアクセスする
公開日時: 更新日時:
ASP.NET MVCの構成の特徴は、モデル、ビュー、コントローラーがそれぞれ切り分けられていることです。その中で、モデルのデータへのアクセスはコントローラーの役割となります。この記事では基本的な処理方法について触れていきます。
- PG
- ASP.NET MVCでデータにアクセスするのはどういう流れになるんですか?
- PL
- コントローラーの部分がその役割を担いますね。少し複雑になるので、なるべく簡単なコードを交えてみていきましょう。
目次
ASP.NET MVCを使ったWeb開発の流れ
ASP.NET MVCにおいて、まずモデルのデータそのものを作成する必要があります。Webアプリケーション開発をする際には、簡単なテンプレートが用意されているので、その構成に従って作成していくことになるでしょう。その後、モデルを扱うビューの作成と実装、そして最後にコントローラーを作成します。
コントローラーからモデルへのアクセス方法
コントローラーからモデルのデータへのアクセス方法を説明していきます。まず、実装したモデルのインスタンスを作成し、設定したメンバ変数に対して値を設定します。それをビューに渡すことで、画面上にデータが表示されるようになるでしょう。実際のASP.NET MVCのWebアプリケーション開発では、データベースとの連携やデータの加工なども絡んできます。
最も単純なコントローラーからデータへのアクセス
モデルクラス
1
2
3
4
5
6
7
8
9
10
11
|
using System;
using System.Web;
namespace AspNetMvcModel.Models
{
public class Model_test
{
public int num;
public string str;
}
}
|
ビュー
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
|
@model AspNetMvcModel.Models.Model_test
@{
Layout = null;
}
<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="width=device-width" />
<title>Sample</title>
</head>
<body>
<div>
<p>モデルのデータの内容</p>
<div>@Html.Encode(Model.num)</div>
<div>@Html.Encode(Model.str)</div>
</div>
</body>
</html>
|
コントローラー
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
|
using System;
using System.Web;
using System.Web.Mvc;
namespace AspNetMvcModel.Controllers
{
public class DefaultController : Controller
{
public ActionResult Index()
{
return View();
}
public ActionResult Sample()
{
Models.Model_test s_model = new Models.Model_test();
s_model.num = 123;
s_model.str = "あいう";
return View(s_model);
}
}
}
|
このコードでは、もっとも単純なコントローラーからモデルのデータのやり取りの構成を示しています。
- PG
- 簡単なコードだとデータのやり取りがどうなっているかわかりやすいですね。
- PL
- 実際の開発ではもっと複雑になるので、どの部分に実装すれば良いかを理解しておく必要があるでしょう。
モデルはデータの箱とイメージする
コントローラーからデータにアクセスするイメージとしては、中身の見えない箱をイメージするとわかりやすいかもしれません。その箱をモデルとすると、箱を手元に持ってきて(インスタンス)箱を開けて中身(データ)を取り出す役目がコントローラー、さらにその中身を受け取るのがビューということになります。
Search キーワード検索
Popular 人気の記事
-
【VB.NET入門】DataGridViewの使い方まとめ
公開: 更新:
reccomended おすすめ記事
-
【.NETが統合】.NET 5の概要と今後のリリース予定
公開: 更新:
Categories 連載一覧
Tags タグ一覧
Jobs 新着案件
-
開発エンジニア/東京都品川区/【WEB面談可】/在宅ワーク
月給29万~30万円東京都品川区(大崎駅) -
遠隔テストサービス機能改修/JavaScript/東京都港区/【WEB面談可】/テレワーク
月給45万~60万円東京都港区(六本木駅) -
病院内システムの不具合対応、保守/東京都豊島区/【WEB面談可】/テレワーク
月給30万~30万円東京都豊島区(池袋駅) -
開発/JavaScript/東京都豊島区/【WEB面談可】/テレワーク
月給50万~50万円東京都豊島区(大塚駅) -
債権債務システム追加開発/東京都文京区/【WEB面談可】/在宅勤務
月給62万~67万円東京都文京区(後楽園駅)