Developpez.com - Microsoft DotNET
X

Choisissez d'abord la catégorieensuite la rubrique :


Créer un contrôleur

Date de publication : 22 avril 2009

Par Lainé Vincent (Traduction) (autres articles)
 

Le but de ce tutoriel est d'expliquer comment créer un nouveau contrôleur ASP.NET MVC. Vous y apprendrez comment créer un contrôleur avec le menu de Visual Studio ou en créant une classe "à la main"

               Version PDF (Miroir)   Version hors-ligne (Miroir)

Traduction
B. Utilisez le menu "Ajouter un contrôleur"
B-1. Création automatique des méthodes d'actions
C. Créer une classe contrôleur à la main


Traduction

Cet article est la traduction la plus fidèle possible de l'article original : en Creating a Controller


B. Utilisez le menu "Ajouter un contrôleur"

La méthode la plus simple pour créer un contrôleur consiste à effectuer un click droit sur l'explorateur de solution et à sélectionner le menu Ajouter -> contrôleur. Cliquer sur ce menu ouvre la boite de création de contrôleur.

Menu Ajouter -> contrôleur de Visual Studio
Menu Ajouter -> contrôleur de Visual Studio
La boite de dialogue Ajouter un contrôleur
La boite de dialogue Ajouter un contrôleur
Notez que dans figure 2, seul le début du nom est surligné dans la boite de dialogue. Chaque nom de contrôleur doit obligatoirement être suffixé avec "Controller". Par exemple vous pouvez créer un contrôleur ProductController mais pas un contrôleur Product.

warning Si vous créer un contrôleur qui ne se termine pas par "Controller" vous ne serez pas en capacité de l'appeler.
J'ai gaspillé de nombreuse heure de ma vie après avoir fait cette erreur.
Controllers\ProductController.cs

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using System.Web.Mvc.Ajax;

namespace MvcApplication1.Controllers
{
    public class ProductController : Controller
    {
        //
        // GET: /Product/

        public ActionResult Index()
        {
            return View();
        }

    }
}
Vous devez toujours créer les contrôleurs dans le dossier Controllers. Si vous ne le faites pas, vous violez les conventions d'ASP.NET MVC et les autres développeurs auront plus de mal à comprendre votre application.


B-1. Création automatique des méthodes d'actions

Quand vous créez un contrôleur vous avez une option permettant de générer les méthodes d'actions Create, Update, Delete automatiquement. Si vous sélectionnez cette option le contrôleur ci après sera généré.

Option de création des méthodes d'action Create, update, Delete
Option de création des méthodes d'action Create, update, Delete
Controllers\CustomerController.cs

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using System.Web.Mvc.Ajax;

namespace MvcApplication1.Controllers
{
    public class CustomerController : Controller
    {
        //
        // GET: /Customer/

        public ActionResult Index()
        {
            return View();
        }

        //
        // GET: /Customer/Details/5

        public ActionResult Details(int id)
        {
            return View();
        }

        //
        // GET: /Customer/Create

        public ActionResult Create()
        {
            return View();
        } 

        //
        // POST: /Customer/Create

        [AcceptVerbs(HttpVerbs.Post)]
        public ActionResult Create(FormCollection collection)
        {
            try
            {
                // TODO: Add insert logic here

                return RedirectToAction("Index");
            }
            catch
            {
                return View();
            }
        }

        //
        // GET: /Customer/Edit/5
 
        public ActionResult Edit(int id)
        {
            return View();
        }

        //
        // POST: /Customer/Edit/5

        [AcceptVerbs(HttpVerbs.Post)]
        public ActionResult Edit(int id, FormCollection collection)
        {
            try
            {
                // TODO: Add update logic here
 
                return RedirectToAction("Index");
            }
            catch
            {
                return View();
            }
        }
    }
}
Les méthodes générés sont des squellettes. Vous devez ajouter la logique de traitement vous même pour créer, mettre à jour ou afficher les détails d'un client vous même. Mais ces squellettes sont un bon point de départ.


C. Créer une classe contrôleur à la main

Les contrôleurs ASP.NET MVC ne sont que des classes. Si vous préférez vous pouvez ignorer l'assistant de création de contrôleur de Visual Studio, et créer un contrôleur à la main. Pour cela suivez ces étapes :

Ajouter une nouvelle classe
Ajouter une nouvelle classe
Controllers\PersonController.cs

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;

namespace MvcApplication1.Controllers
{
    public class PersonController : System.Web.Mvc.Controller
    {

        public string Index()
        {
            return "Hello World!";
        }

    }
}
Le contrôleur dans l'exemple au dessus expose l'action Index() qui retourne la string "Hello World!". Vous pouvez l'appeler en lancant votre application et en naviguant vers une URL de la forme http://localhost/Person



               Version PDF (Miroir)   Version hors-ligne (Miroir)

Valid XHTML 1.1!Valid CSS!

Copyright © 2009 Vincent Lainé. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc. sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts. Droits de diffusion permanents accordés à Developpez LLC.

Responsable bénévole de la rubrique Microsoft DotNET : Hinault Romaric -