Mvc-framework-controllers

提供:Dev Guides
移動先:案内検索

MVCフレームワーク-コントローラー

Asp.net MVCコントローラーは、アプリケーション実行のフローを制御する役割を果たします。 MVCアプリケーションに要求(ページを要求すること)を行うと、コントローラーはその要求への応答を返します。 コントローラーは1つ以上のアクションを実行できます。 コントローラーアクションは、特定の要求にさまざまなタイプのアクション結果を返すことができます。

コントローラーは、アプリケーションロジックを制御し、ビューとモデルの間のコーディネーターとして機能します。 コントローラは、ビューを介してユーザーから入力を受け取り、モデルの助けを借りてユーザーのデータを処理し、結果をビューに返します。

コントローラーを作成する

コントローラを作成するには-

  • ステップ1 *-MVC空のアプリケーションを作成し、MVCアプリケーションのControllerフォルダーを右クリックします。

ステップ2 *-メニューオプション[追加]→[コントローラー]を選択します。 選択後、「コントローラーの追加」ダイアログが表示されます。 Controllerに *DemoController という名前を付けます。

次のスクリーンショットに示すように、コントローラークラスファイルが作成されます。

MVC新しいコントローラー

IControllerを使用してコントローラーを作成する

MVCフレームワークでは、コントローラークラスはSystem.Web.Mvc名前空間からIControllerインターフェイスを実装する必要があります。

public interface IController {
   void Execute(RequestContext requestContext);
}

これは非常にシンプルなインターフェースです。 唯一のメソッドであるExecuteは、リクエストがコントローラークラスをターゲットとするときに呼び出されます。 MVCフレームワークは、ルーティングデータによって生成されたコントローラープロパティの値を読み取ることで、リクエストでどのコントローラークラスがターゲットにされたかを認識します。

新しいコントローラークラスの追加

  • ステップ1 *-新しいクラスファイルを追加し、DemoCustomControllerという名前を付けます。 次に、このクラスを変更して、IControllerインターフェイスを継承します。

コントローラーを使用したコントローラー

  • ステップ2 *-このクラス内に次のコードをコピーします。
public class DemoCustomController:IController {

   public void Execute(System.Web.Routing.RequestContext requestContext) {
      var controller = (string)requestContext.RouteData.Values["controller"];
      var action = (string)requestContext.RouteData.Values["action"];
      requestContext.HttpContext.Response.Write(
      string.Format("Controller: {0}, Action: {1}", controller, action));
   }
}
  • ステップ3 *-アプリケーションを実行すると、次の出力が表示されます。

デモコントローラーの呼び出し