IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)

Créer un contrôleur

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"

Article lu   fois.

L'auteur

Profil ProSite personnel

Liens sociaux

Viadeo Twitter Facebook Share on Google+   

Traduction

Cet article est la traduction la plus fidèle possible de l'article original : 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.

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
Sélectionnez
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
Sélectionnez
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 :

  • Click droit sur le dossier "Controller" dans l'explorateur de solutions et sélectionnez le menu "Ajouter -> Nouvel item -> Classe"
  • Nommez la nouvelle classe PersonController.cs et cliquez sur le bouton "Ajouter"
  • Modifier la nouvelle classe pour qu'elle hérite de la classe System.Web.Mvc.Controller
Ajouter une nouvelle classe
Ajouter une nouvelle classe
Controllers\PersonController.cs
Sélectionnez
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

Vous avez aimé ce tutoriel ? Alors partagez-le en cliquant sur les boutons suivants : Viadeo Twitter Facebook Share on Google+   

Copyright © 2009 Vincent Lainé. Aucune reproduction, même partielle, ne peut être faite de ce site ni 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.