Routage et zones ASP.NET MVC
-
06-07-2019 - |
Question
Je déconne avec ASP.NET MVC 2 Preview 2 et j'essaie de comprendre comment le routage fonctionne avec les zones, etc. Dans un seul projet d'implémentation de zones, je souhaite une zone nommée "admin".
J'essaie de pouvoir avoir des URLs comme celle-ci:
(root)/admin/apples/search
(root)/admin/apples/edit/3
(root)/admin/apples/add
(root)/admin/oranges/search
(root)/admin/oranges/edit/5
(root)/admin/oranges/add
(root)/admin
J'ai la zone créée. J'ai les contrôleurs créés avec leurs vues respectives, mais c'est le routage que je n'arrive pas à obtenir. Avez-vous des conseils sur la manière de réaliser un tel routage?
Je suis sûr que cela peut sembler extrêmement simple pour certains, mais je n’ai pas eu beaucoup de chance de trouver des exemples allant au-delà des éléments de base.
Merci!
Ajout à la question (25/10/2009) Je demande fondamentalement quelles routes et dans quel ordre dois-je m'installer dans la classe AreaRegistration de la zone? J'ai fait tout ce qui a été mentionné jusqu'à présent, mais sans résultat.
La solution
Enregistrer des zones dans un seul projet
Vous devez ajouter le fichier routes.cs au dossier de la zone d'administration.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
namespace MvcAreasSingleProject.Areas.Admin
{
public class Routes : AreaRegistration
{
public override string AreaName
{
get { return "admin"; }
}
public override void RegisterArea(AreaRegistrationContext context)
{
context.MapRoute(
"admin_default",
"admin/{controller}/{action}/{id}",
new { controller = "Admin", action = "Edit", id = "" }
);
}
}
}
Autres conseils
http://haacked.com/archive/2009 /07/31/single-project-areas.aspx
routes.MapAreaRoute("Forums", "admin_area", "admin/{controller}/{action}/{id}", new { controller = "apples", action = "search", id = "" }, new string[] { "Project.Areas.Admin.Controllers" });