Partager via


Création d’un contrôleur (VB)

par Stephen Walther

Dans ce tutoriel, Stephen Walther montre comment ajouter un contrôleur à une application ASP.NET MVC.

L’objectif de ce tutoriel est d’expliquer comment créer des contrôleurs ASP.NET MVC. Vous apprenez à créer des contrôleurs à l’aide de l’option de menu Ajouter un contrôleur de Visual Studio et en créant un fichier de classe manuellement.

Utilisation de l’option de menu Ajouter un contrôleur

Le moyen le plus simple de créer un contrôleur consiste à cliquer avec le bouton droit sur le dossier Contrôleurs dans la fenêtre Explorateur de solutions visual Studio et à sélectionner l’option de menu Ajouter, Contrôleur (voir la Figure 1). La sélection de cette option de menu ouvre la boîte de dialogue Ajouter un contrôleur (voir figure 2).

Capture d’écran de la fenêtre Explorateur de solutions de Visual Studio, qui montre les options Ajouter et Contrôleur dans le menu contextuel.

Figure 01 : Ajout d’un nouveau contrôleur (Cliquer pour afficher l’image en taille réelle)

Capture d’écran de la boîte de dialogue Ajouter un contrôleur, qui montre le contrôleur par défaut 1 dans le champ Nom du contrôleur.

Figure 02 : Boîte de dialogue Ajouter un contrôleur (cliquer pour afficher l’image en taille réelle)

Notez que la première partie du nom du contrôleur est mise en surbrillance dans la boîte de dialogue Ajouter un contrôleur . Chaque nom de contrôleur doit se terminer par le suffixe Controller. Par exemple, vous pouvez créer un contrôleur nommé ProductController , mais pas un contrôleur nommé Product.

Si vous créez un contrôleur qui ne contient pas le suffixe du contrôleur , vous ne pourrez pas appeler le contrôleur. Ne fais pas ça, j’ai perdu d’innombrables heures de ma vie après avoir fait cette erreur.

Listing 1 - Controllers\ProductController.vb

Public Class ProductController
    Inherits System.Web.Mvc.Controller

    '
    ' GET: /Product/

    Function Index() As ActionResult
        Return View()
    End Function

End Class

Vous devez toujours créer des contrôleurs dans le dossier Controllers. Sinon, vous violerez les conventions de ASP.NET MVC et d’autres développeurs auront plus de difficultés à comprendre votre application.

Méthodes d’action de génération automatique

Lorsque vous créez un contrôleur, vous avez la possibilité de générer automatiquement les méthodes d’action Créer, Mettre à jour et Détails (voir la Figure 3). Si vous sélectionnez cette option, la classe de contrôleur dans la liste 2 est générée.

Création automatique de méthodes d’action

Figure 03 : Création automatique de méthodes d’action (cliquer pour afficher l’image en taille réelle)

Listing 2 - Controllers\CustomerController.vb

Public Class CustomerController
    Inherits System.Web.Mvc.Controller

    '
    ' GET: /Customer/

    Function Index() As ActionResult
        Return View()
    End Function

    '
    ' GET: /Customer/Details/5

    Function Details(ByVal id As Integer) As ActionResult
        Return View()
    End Function

    '
    ' GET: /Customer/Create

    Function Create() As ActionResult
        Return View()
    End Function

    '
    ' POST: /Customer/Create

    <AcceptVerbs(HttpVerbs.Post)> _
    Function Create(ByVal collection As FormCollection) As ActionResult
        Try
            ' TODO: Add insert logic here
            Return RedirectToAction("Index")
        Catch
            Return View()
        End Try
    End Function

    '
    ' GET: /Customer/Edit/5

    Function Edit(ByVal id As Integer) As ActionResult
        Return View()
    End Function

    '
    ' POST: /Customer/Edit/5

    <AcceptVerbs(HttpVerbs.Post)> _
    Function Edit(ByVal id As Integer, ByVal collection As FormCollection) As ActionResult
        Try
            ' TODO: Add update logic here

            Return RedirectToAction("Index")
        Catch
            Return View()
        End Try
    End Function
End Class

Ces méthodes générées sont des méthodes stub. Vous devez ajouter vous-même la logique de création, de mise à jour et d’affichage des détails d’un client. Mais les méthodes stub vous fournissent un bon point de départ.

Création d’une classe de contrôleur

Le contrôleur MVC ASP.NET n’est qu’une classe. Si vous préférez, vous pouvez ignorer la structure pratique du contrôleur Visual Studio et créer manuellement une classe de contrôleur. Procédez comme suit :

  1. Cliquez avec le bouton droit sur le dossier Contrôleurs et sélectionnez l’option de menu Ajouter, Nouvel élément, puis sélectionnez le modèle Classe (voir figure 4).
  2. Nommez la nouvelle classe PersonController.vb, puis cliquez sur le bouton Ajouter .
  3. Modifiez le fichier de classe résultant afin que la classe hérite de la classe System.Web.Mvc.Controller de base (voir listing 3).

Création d’une classe

Figure 04 : Création d’une classe (Cliquer pour afficher l’image en taille réelle)

Listing 3 - Controllers\PersonController.vb

Public Class PersonController
    inherits Controller

    Function Index AS String
        Return "Hello World!"
    End Function

End Class

Le contrôleur de la liste 3 expose une action nommée Index() qui retourne la chaîne « Hello World! ». Vous pouvez appeler cette action de contrôleur en exécutant votre application et en demandant une URL semblable à la suivante :

http://localhost:40071/Person

Notes

Le serveur de développement ASP.NET utilise un numéro de port aléatoire (par exemple, 40071). Lorsque vous entrez une URL pour appeler un contrôleur, vous devez fournir le numéro de port approprié. Vous pouvez déterminer le numéro de port en pointant la souris sur l’icône du serveur de développement ASP.NET dans la zone de notification Windows (en bas à droite de votre écran).