70 votes

Comment utiliser une zone dans ASP.NET Core ?

Comment utiliser un Area dans ASP.NET Core ? Ce n'est pas correctement documenté !

Supposons que j'ai une application qui nécessite une section Admin. Cette section exige que ses vues soient placées dans cette zone. Toutes les demandes qui commencent par Admin/ devront être redirigés vers cette zone.

1voto

Utilisez ce modèle dans Configurer méthode dans Démarrage.Cs comme son mode de routage complet :

app.UseMvc(routes =>{
   routes.MapRoute(
   name: "MyArea",
   template: "{area:exists}/{controller=Home}/{action=Index}/{id?}");

routes.MapRoute(
    name: "default",
    template: "{controller=Home}/{action=Index}/{id?}");});

Dans Core 3.1 vous devez utiliser le code suivant dans ConfigureServices méthode :

services.AddMvc(option => option.EnableEndpointRouting = false);

0voto

mukesh joshi Points 421
With .net core, following is needed to be added in the startup file if you are adding an area:

     app.UseMvc(routes =>
            {
                routes.MapRoute(
                  name: "areas",
                  template: "{area:exists}/{controller=Home}/{action=Index}/{id?}"
                );
            });

After that you can just simply mark your area and route in the controller, i.e
     [Area("Order")]
     [Route("order")]

cela fonctionne pour moi.

0voto

Utilisez ce modèle dans Configurer méthode dans Démarrage.Cs comme son mode de routage complet :

app.UseMvc(routes =>{

routes.MapRoute(
  name: "MyArea",
  template: "{area:exists}/{controller=Home}/{action=Index}/{id?}");

routes.MapRoute(
   name: "default",
   template: "{controller=Home}/{action=Index}/{id?}");});

Dans Core 3.1 vous devez utiliser le code suivant dans ConfigureServices méthode :

services.AddMvc(option => option.EnableEndpointRouting = false);

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X