Développement Web
côté serveur avec [Link]
Module 4 - [Link] MVC
Développement Web côté serveur avec [Link]
Objectifs
• Comprendre le fonctionnement du MVC [Link]
• Comprendre et utiliser les routes
• Savoir créer et enrichir un contrôleur
• Savoir créer et utiliser une Action
Développement Web côté serveur avec [Link]
La création d’un nouveau projet Web
Fichier > Nouveau > projet
Développement Web côté serveur avec [Link]
Structure d’un projet [Link] Core MVC 6.0
Services
Packages NuGet
Informations de lancement
Ressources statiques
Contrôleurs
Modèles (entités et ViewModels)
Vues dynamiques
Vues dynamiques partagées
Paramètres d’application
Point d’entrée
Développement Web côté serveur avec [Link]
Lancement du site
• Mode Debug
• IIS Express
• Localhost
• Numéro de port
Développement Web côté serveur avec [Link]
Le framework MVC crée une instance
Requête
du contrôleur visée par la route
L’action du contrôleur
est exécutée
Le modèle est combiné
HTML renvoyé
avec la vue
Développement Web côté serveur avec [Link]
Controller
public class HomeController : Controller {
…
public IActionResult Index() { Routes
return View();
} Actions
public IActionResult Privacy() {
Action Results
return View();
}
…
}
Développement Web côté serveur avec [Link]
Routing
[Link]
… Middleware de
[Link](); routage
…
[Link](
name: "default",
Modèle de routes
pattern: "{controller=Home}/{action=Index}/{id?}"); classiques
…
Action de lancement
[Link]
Développement Web côté serveur avec [Link]
Routing
Localhost:7083 Instanciation d’un objet
/Home/Privacy “HomeController”
L’action “Privacy”
est exécutée
HTML La vue “Privacy”
renvoyé est générée
Développement Web côté serveur avec [Link]
Route Attribute
[Route("[controller]/hello/{nom}")]
Modèle de routes
[Route("hello/{nom}")] par attribut
public IActionResult DisBonjour(string nom) {
return Ok("Hello " + nom);
}
Développement Web côté serveur avec [Link]
View
public class HomeController : Controller
• Répertoire /Views/
{
public ActionResult Index()
• Recherchera la vue Index dans :
{
• /Views/Home/[Link]
return View();
• /Views/Shared/[Link]
}
• Erreur si non trouvée
}
Développement Web côté serveur avec [Link]
-Démonstration-
Appel d’une route
Développement Web côté serveur avec [Link]
La liaison des données
[HttpPost("[controller]/info/{nom}")]
public IActionResult TestAction([FromRoute] string nom, [FromQuery] int age)
{
[Link] = $"Hello {nom} ! Vous avez {age} ans";
if ([Link](nom))
{ Http méthode Liaisons de données Action Results
return NotFound();
} [HttpGet] [FromForm]
if (age < 18) [HttpPost] [FromBody]
{
[HttpPut] [FromRoute]
return NoContent();
} [HttpDelete] [FromQuery]
return View(); [HttpHead] [FromHeader]
}
[HttpPatch]
Développement Web côté serveur avec [Link]
-Démonstration-
La liaison des données
Développement Web côté serveur avec [Link]
Conclusion
• Vous comprenez le fonctionnement du framework MVC [Link]
• Vous savez utiliser les routes
• Vous savez créer et enrichir un contrôleur
• Vous savez créer et utiliser une Action