.net column

.NET開発者のためのブログメディア

【ASP.NET MVC入門その3】ASP.NET MVCでControllerクラスの実装

2019年12月03日

「ASP.NET MVC」を使用してWebアプリケーションを作成します。
ASP.NET MVCでWebアプリケーションを作成する際、様々なビジネスロジックを実装します。中でもデータの取得や画面表示をコントロールするのが、MVCの「C」の部分となるControllerです。

SE
ASP.NET MVCのControllerとはどういうものでしょうか?Controllerについて教えてください。
PL
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文を削除しています。

Controllerクラスの実装のポイントは以下の通りです。

  • ・Controllerクラスを継承する
  • 全てのControllerクラスは、Controllerクラスを継承することで必要な機能が実装できます。

  • ・アクションメソッドを実装する
  • この場合、Indexメソッドのことを指します。
    Controller内で最初に実行される処理(画面)は、Indexという名前にすることが一般的です。

Indexメソッドでは1文のみ実装されています。

この1文だけで対応するViewクラスを呼び出して、画面を表示することができます。

画面表示を行うだけであれば、実装はこれだけです。
Visual Studioを使用する場合、クラスを自動で作成する機能があるので、名前を付けるだけで作成が完了します。

以上で、Controllerクラスの実装ができました。
Webアプリケーションとして画面を表示するためには、Viewクラスが必要になりますが、Controllerとしての実装は以上で完了です。

SE
Controllerクラスの実装は簡単なのですね!しかも自動で作成できるなんて、すごい機能ですね。
PL
Controllerクラスも基本はシンプルなものです。Controllerクラスの機能をしっかり理解して開発していきましょう。

MVCのControllerクラスの実装はシンプルで簡単

MVCで機能ごとに役割を分担しているからこそ、Controllerクラスの実装はシンプルで簡単にできます。
ControllerクラスはWebアプリケーションにとって大事な部分になるので、基本をしっかり押さえて開発していきましょう。


.NET分野でのキャリアアップをお考えの方は、現在募集中の求人情報をご覧ください。

求人一覧

また、直接のエントリーも受け付けております。

エントリー(応募フォーム)