Est-ce que quelqu'un sait comment configurer des zones dans ASP.NET MVC3. J'ai lu un article sur les domaines dans ici . Mais cet article n'est pas basé sur MVC3. Dans MVC3, il n'y a pas de fonction nommée MapRootArea
dans RouteCollection routes
qui se trouve dans Global.asax
routes.MapRootArea("{controller}/{action}/{id}",
"AreasDemo",
new { controller = "Home", action = "Index", id = "" });
Lorsque je crée une nouvelle zone à l'aide de MVC3, j'ai une classe de cette zone héritée de AreaRegistration
et ressemble à ceci: (ici Blogs est le nom de la zone)
public class BlogsAreaRegistration : AreaRegistration
{
public override string AreaName
{
get
{
return "Blogs";
}
}
public override void RegisterArea(AreaRegistrationContext context)
{
context.MapRoute(
"Blogs_default",
"Blogs/{controller}/{action}/{id}",
new { action = "Index", id = UrlParameter.Optional }
);
}
}
Quelqu'un pourrait-il m'aider à configurer la zone dans MVC3? Tout type de lien serait également utile.
Faites un clic droit sur votre projet web et sélectionnez Ajouter -> Zone ... Tapez ensuite le nom de la zone et Visual Studio s'occupe du reste qui est de générer toutes les classes nécessaires. Par exemple, l'enregistrement de zone peut ressembler à ceci:
public class AreasDemoAreaRegistration : AreaRegistration
{
public override string AreaName
{
get
{
return "AreasDemo";
}
}
public override void RegisterArea(AreaRegistrationContext context)
{
context.MapRoute(
"AreasDemo_default",
"AreasDemo/{controller}/{action}/{id}",
new { action = "Index", id = UrlParameter.Optional }
);
}
}
et en Application_Start
de votre Global.asax
tout ce dont tu as besoin c'est:
AreaRegistration.RegisterAllAreas();
Vous pouvez avoir le même nom de contrôleur à la racine et dans la zone, il vous suffit de le définir.
Dans votre global.asax, ajoutez la dernière ligne du routes.maproute comme indiqué ci-dessous
routes.MapRoute(
"Default", // Route name
"{controller}/{action}/{id}", // URL with parameters
new { controller = "Home", action = "Index", id = UrlParameter.Optional },// Parameter defaults
new[]{"YourNameSpace.Controllers"}
);
ajoutez également le nom du contrôleur dans votre fichier ares/????? AreaRegistration.cs
context.MapRoute(
"Membership_default",
"Membership/{controller}/{action}/{id}",
new { controller= "Home", action = "Index", id = UrlParameter.Optional }
);
veuillez trouver ci-dessous l'image montre comment configurer la zone en mvc.