【ASP.NET MVC入門その3】ASP.NET MVCでControllerクラスの実装
「ASP.NET MVC」を使用してWebアプリケーションを作成します。
ASP.NET MVCでWebアプリケーションを作成する際、様々なビジネスロジックを実装します。中でもデータの取得や画面表示をコントロールするのが、MVCの「C」の部分となるControllerです。
- システム
エンジニア - ASP.NET MVCのControllerとはどういうものでしょうか?Controllerについて教えてください。
- プロジェクト
リーダー - ASP.NET MVCのControllerは、その名の通り、各処理をコントロールするビジネスロジックを実装する部分です。一緒に確認しましょう!
ASP.NET MVCのControllerとは
ASP.NET MVCのControllerとは、MVCの各処理をコントロールし、様々なビジネスロジックを実装するためのクラスです。
例えば、Webアプリケーションの画面上で検索ボタンがクリックされた場合を考えます。Controllerは画面上で入力された「検索したいワード」と「検索するという要求」を受け取って、データを検索します。
実際にデータを検索する処理はModelクラスで行うため、その検索する処理のハンドリングをControllerが行います。
検索したいワードをModelに伝えて、検索後に結果を受け取ります。
次にControllerは検索結果の画面を表示します。
ここで、実際に検索結果を画面に表示する処理は、Viewが行うのでControllerはそのハンドリングを行います。
検索した結果をViewに渡す、というイメージです。
このようにASP.NET MVCにおけるControllerは、ModelやViewとの連携が主な役割になるため、その際のロジックを実装する必要があります。
Controllerに実装する内容を明確にして、開発を進めることが大切です。
ASP.NET MVCのControllerクラスの実装方法
それでは実際にVisual Studio 2017を使ってControllerを実装していきます。
前回(【ASP.NET MVC入門その2】ASP.NET MVCでModelクラスの実装)は店舗の情報を管理するModelクラス(Shopクラス)を作成したので、このModelに対応するControllerクラスを作成します。
Controllerクラスの作成
右側に表示されている「ソリューションエクスプローラー」で、「Controllers」のフォルダを右クリックし、追加→コントローラーを選択します。
以下の画面が表示されるので、「MVC5 Controller – Empty」を選択して、追加ボタンをクリックします。
下記の画面が表示されたら、名前を入力し、Addボタンをクリックします。
Controllerの名前は「モデル名(複数形)+Controller」となるため、本記事ではShopsControllerとします。
Controllerクラスの実装
次に、以下のソースが作成されます。
実装は以下のように行います。ここでは、自動生成されたソースから不要なusing文を削除しています。
1
2
3
4
5
6
7
8
9
10
11
12
13
|
using System.Web.Mvc;
namespace WebApplication1.Controllers
{
public class ShopsController : Controller
{
// GET: Shops
public ActionResult Index()
{
return View();
}
}
}
|
Controllerクラスの実装のポイントは以下の通りです。
- ・Controllerクラスを継承する
- ・アクションメソッドを実装する
全てのControllerクラスは、Controllerクラスを継承することで必要な機能が実装できます。
この場合、Indexメソッドのことを指します。
Controller内で最初に実行される処理(画面)は、Indexという名前にすることが一般的です。
Indexメソッドでは1文のみ実装されています。
1
|
Return View();
|
この1文だけで対応するViewクラスを呼び出して、画面を表示することができます。
画面表示を行うだけであれば、実装はこれだけです。
Visual Studioを使用する場合、クラスを自動で作成する機能があるので、名前を付けるだけで作成が完了します。
以上で、Controllerクラスの実装ができました。
Webアプリケーションとして画面を表示するためには、Viewクラスが必要になりますが、Controllerとしての実装は以上で完了です。
- システム
エンジニア - Controllerクラスの実装は簡単なのですね!しかも自動で作成できるなんて、すごい機能ですね。
- プロジェクト
リーダー - Controllerクラスも基本はシンプルなものです。Controllerクラスの機能をしっかり理解して開発していきましょう。
MVCのControllerクラスの実装はシンプルで簡単
MVCで機能ごとに役割を分担しているからこそ、Controllerクラスの実装はシンプルで簡単にできます。
ControllerクラスはWebアプリケーションにとって大事な部分になるので、基本をしっかり押さえて開発していきましょう。
FEnet.NETナビ・.NETコラムは株式会社オープンアップシステムが運営しています。
株式会社オープンアップシステムはこんな会社です
秋葉原オフィスには株式会社オープンアップシステムをはじめグループのIT企業が集結!
数多くのエンジニアが集まります。
-
スマホアプリから業務系システムまで
スマホアプリから業務系システムまで開発案件多数。システムエンジニア・プログラマーとしての多彩なキャリアパスがあります。
-
充実した研修制度
毎年、IT技術のトレンドや社員の要望に合わせて、カリキュラムを刷新し展開しています。社内講師の丁寧なサポートを受けながら、自分のペースで学ぶことができます。
-
資格取得を応援
スキルアップしたい社員を応援するために資格取得一時金制度を設けています。受験料(実費)と合わせて資格レベルに合わせた最大10万円の一時金も支給しています。
-
東証プライム上場企業グループ
オープンアップシステムは東証プライム上場「株式会社オープンアップグループ」のグループ企業です。
安定した経営基盤とグループ間のスムーズな連携でコロナ禍でも安定した雇用を実現させています。
株式会社オープンアップシステムに興味を持った方へ
株式会社オープンアップシステムでは、開発系エンジニア・プログラマを募集しています。
年収をアップしたい!スキルアップしたい!大手の上流案件にチャレンジしたい!
まずは話だけでも聞いてみたい場合もOK。お気軽にご登録ください。
ASP.NET新着案件New Job
-
Web受注システム運用保守/VB.NET/東京都港区/【WEB面談可】
月給50万~60万円東京都港区(品川駅) -
Web受注システム開発のテスター/VB.NET/東京都港区/【WEB面談可】
月給25万~35万円東京都港区(品川駅) -
営業フロントシステム運用保守/ASP.NET/東京都江東区/【WEB面談可】
月給50万~60万円東京都江東区(木場駅) -
営業フロントシステム開発のテスター/ASP.NET/東京都江東区/【WEB面談可】
月給25万~35万円東京都江東区(木場駅) -
営業フロントシステム開発/ASP.NET/東京都江東区/【WEB面談可】
月給35万~41万円東京都江東区(木場駅) -
Web受注システム開発/VB.NET/東京都港区/【WEB面談可】
月給45万~60万円東京都港区(品川駅)