Ajout d’un contrôleur (VB)
par Rick Anderson
Ce tutoriel vous apprend les principes de base de la création d’une application web MVC ASP.NET à l’aide de Microsoft Visual Web Developer 2010 Express Service Pack 1, qui est une version gratuite de Microsoft Visual Studio. Avant de commencer, vérifiez que vous avez installé les prérequis listés ci-dessous. Vous pouvez tous les installer en cliquant sur le lien suivant : Programme d’installation de plateforme web. Vous pouvez également installer individuellement les prérequis à l’aide des liens suivants :
- Conditions préalables requises pour Visual Studio Web Developer Express SP1
- ASP.NET mise à jour des outils MVC 3
- SQL Server Compact 4.0(runtime + outils pris en charge)
Si vous utilisez Visual Studio 2010 au lieu de Visual Web Developer 2010, installez les prérequis en cliquant sur le lien suivant : Conditions préalables de Visual Studio 2010.
Un projet Visual Web Developer avec VB.NET code source est disponible pour accompagner cette rubrique. Téléchargez la version VB.NET. Si vous préférez C#, basculez vers la version C# de ce tutoriel.
MVC signifie model-view-controller. MVC est un modèle de développement d’applications telle que chaque partie a une responsabilité distincte :
- Modèle : données de votre application.
- Affichages : fichiers de modèles que votre application utilisera pour générer dynamiquement des réponses HTML.
- Contrôleurs : classes qui gèrent les demandes d’URL entrantes à l’application, récupèrent les données de modèle, puis spécifient des modèles d’affichage qui affichent une réponse au client.
Nous allons couvrir tous ces concepts dans ce tutoriel et vous montrer comment les utiliser pour créer une application.
Créez un contrôleur en cliquant avec le bouton droit sur le dossier Contrôleurs dans Explorateur de solutions, puis en sélectionnant Ajouter un contrôleur.
Nommez votre nouveau contrôleur « HelloWorldController », puis cliquez sur Ajouter.
Notez dans Explorateur de solutions à droite qu’un nouveau fichier nommé HelloWorldController.cs a été créé pour vous et que le fichier est ouvert dans l’IDE.
À l’intérieur du nouveau public class HelloWorldController
bloc, créez deux nouvelles méthodes qui ressemblent au code suivant. Nous allons retourner une chaîne de code HTML directement à partir du contrôleur à titre d’exemple.
Namespace MvcMovie
Public Class HelloWorldController
Inherits System.Web.Mvc.Controller
Public Function Index() As String
Return "This is my default action..."
End Function
Public Function Welcome() As String
Return "This is the Welcome action method..."
End Function
End Class
End Namespace
Votre contrôleur est nommé HelloWorldController
et votre nouvelle méthode est nommée Index
. Exécutez l’application (appuyez sur F5 ou Ctrl+F5). Une fois votre navigateur démarré, ajoutez « HelloWorld » au chemin dans la barre d’adresses. (Sur mon ordinateur, c’est http://localhost:43246/HelloWorld
) Votre navigateur ressemblera à la capture d’écran ci-dessous. Dans la méthode ci-dessus, le code a retourné une chaîne directement. Nous avons dit au système de retourner du code HTML, et c’est le cas !
ASP.NET MVC appelle différentes classes de contrôleur (et différentes méthodes d’action) en fonction de l’URL entrante. La logique de mappage par défaut utilisée par ASP.NET MVC utilise un format comme celui-ci pour contrôler le code appelé :
/[Controller]/[ActionName]/[Parameters]
La première partie de l’URL détermine la classe de contrôleur à exécuter. /HelloWorld est donc mappé à la HelloWorldController
classe . La deuxième partie de l’URL détermine la méthode d’action sur la classe à exécuter. Par conséquent, /HelloWorld/Index entraînerait l’exécution Index
de la méthode de la HelloWorldController
classe. Notez que nous n’avions qu’à visiter /HelloWorld ci-dessus et que la Index
méthode a été utilisée par défaut. En effet, une méthode nommée Index
est la méthode par défaut qui sera appelée sur un contrôleur si une méthode n’est pas spécifiée explicitement.
Accédez à http://localhost:xxxx/HelloWorld/Welcome
. La méthode Welcome
s’exécute et retourne la chaîne « This is the Welcome action method... ». Le mappage MVC par défaut est /[Controller]/[ActionName]/[Parameters]
. Pour cette URL, le contrôleur est HelloWorld
et Welcome
est la méthode . Nous n’avons pas encore utilisé la [Parameters]
partie de l’URL.
Nous allons modifier légèrement l’exemple afin de pouvoir transmettre certaines informations de paramètre de l’URL au contrôleur (par exemple, /HelloWorld/Welcome ?name=Scott&numtimes=4). Modifiez votre Welcome
méthode pour inclure deux paramètres, comme indiqué ci-dessous. Notez que nous avons utilisé la fonctionnalité de paramètre facultatif VB pour indiquer que le numTimes
paramètre doit avoir la valeur par défaut 1 si aucune valeur n’est passée pour ce paramètre.
Public Function Welcome(ByVal name As String, Optional ByVal numTimes As Integer = 1) As String
Dim message As String = "Hello " & name & ", NumTimes is: " & numTimes
Return "" & Server.HtmlEncode(message) & ""
End Function
Exécutez votre application et accédez à http://localhost:xxxx/HelloWorld/Welcome?name=Scott&numtimes=4
. Vous pouvez essayer différentes valeurs pour name
et numtimes
. Le système mappe automatiquement les paramètres nommés de votre chaîne de requête dans la barre d’adresses aux paramètres de votre méthode.
Dans ces deux exemples, le contrôleur a effectué la partie VC de MVC, c’est-à-dire le travail de vue et de contrôleur. Le contrôleur retourne directement du HTML. En règle générale, nous ne voulons pas que les contrôleurs retournent du code HTML directement, car cela devient très fastidieux pour le code. Au lieu de cela, nous utilisons généralement un fichier de modèle d’affichage distinct pour vous aider à générer la réponse HTML. Voyons comment nous pouvons le faire.