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.

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.
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é.

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
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






