logo

Routage ASP.NET MVC

Dans MVC, le routage est un processus de mappage de la requête du navigateur à l'action du contrôleur et de renvoi de la réponse. Chaque application MVC a un routage par défaut pour la valeur par défaut AccueilContrôleur . Nous pouvons définir un routage personnalisé pour le contrôleur nouvellement créé.

Le RouteConfig.cs Le fichier est utilisé pour définir le routage de l'application. Initialement, il contient le code suivant.

// RouteConfig.cs

 using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.Mvc; using System.Web.Routing; namespace MvcApplicationDemo { public class RouteConfig { public static void RegisterRoutes(RouteCollection routes) { routes.IgnoreRoute('{resource}.axd/{*pathInfo}'); routes.MapRoute( name: 'Default', url: '{controller}/{action}/{id}', defaults: new { controller = 'Home', action = 'Index', id = UrlParameter.Optional } ); } } } 

Selon ce fichier de configuration, l'action Index du contrôleur Home sera traitée par défaut. La première fois, lorsque l'application s'exécute, elle produit la sortie suivante.

Routage ASP 1

Si l'on regarde la barre d'adresse, elle contient uniquement hôte local : 52174 . Il n'y a pas de contrôleur et une action est spécifiée car le routeur MVC mappe le contrôleur à partir du RouteConfig.cs.

Si nous entrons explicitement les noms du contrôleur et de l'action dans la barre d'adresse, cela sera redirigé vers la même action. Le localhost:52174/Accueil/Index produira la même sortie pour le navigateur.

Routage ASP 2

Maintenant, créons un nouveau contrôleur et configurons-le sur le fichier de route. Faites un clic droit sur le Manette dossier et sélectionnez ajouter puis contrôleur. Une fenêtre apparaîtra. sélectionnez un contrôleur vide comme nous l'avons fait dans la capture d'écran.

Routage ASP 3

Ce contrôleur a du code source, remplacez-le par le code suivant.

// ÉtudiantsController.cs

 using System.Web.Mvc; namespace MvcApplicationDemo.Controllers { public class StudentsController : Controller { public ContentResult Index() { return Content('This is default student page'); } } } 

Pour configurer ce contrôleur dans le fichier de route, nous avons apporté quelques modifications dans RouteConfig.cs déposer. Le code est donné ci-dessous.

// RouteConfig.cs

 using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.Mvc; using System.Web.Routing; namespace MvcApplicationDemo { public class RouteConfig { public static void RegisterRoutes(RouteCollection routes) { routes.IgnoreRoute('{resource}.axd/{*pathInfo}'); routes.MapRoute( name: 'Students', url: '{controller}/{action}/{id}', defaults: new { controller = 'Students', action = 'Index', id = UrlParameter.Optional } ); } } } 

Cette application produit le même résultat pour hôte local : 52174 et localhost:52174/Étudiants/Index

Parce que le module de route du framework MVC mappe l'URL du navigateur au fichier RouteConfig du projet.

Sortir:

villes en Australie

Routage ASP 4

C'est la même chose que ci-dessus, même si nous avons entré explicitement les noms de contrôleur et d'action.

Routage ASP 5