Salut choses en général à regarder:
Avez-vous de la cartographie et de la cartographie enregistrée zone région? avez-vous le même nom pour le contrôleur dans les deux endroits?
l'exemple de cartographie de la zone dans Global.asax
voir ligne: AreaRegistration.RegisterAllAreas(); // Ce fait partie vous neeed faire
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapRoute(
"Default", // Route name
"{controller}/{action}/{id}", // URL with parameters
new { controller = "Home", action = "Index", id = UrlParameter.Optional } // Parameter defaults
);
}
protected void Application_Start()
{
AreaRegistration.RegisterAllAreas(); // This is part you neeed to do
RegisterRoutes(RouteTable.Routes);
ControllerBuilder.Current.SetControllerFactory(new NinjectControllerFactory());
}
}
et chaque région doit avoir fichier cartographie ou la cartographie quelque part mis en place. Exemple ici
espace de noms de projet { /// /// Inscription de la zone d'administration /// public class AdministratorAreaRegistration: AreaRegistration {/// /// Obtient le nom de la zone à être enregistré. /// /// Nom de la zone à enregistrer. public override string AreaName { get { return "Administrateur"; }}
/// <summary>
/// Registers an area in an ASP.NET MVC application using the specified area's context information.
/// </summary>
/// <param name="context">Encapsulates the information that is required in order to register the area.</param>
public override void RegisterArea(AreaRegistrationContext context)
{
context.MapRoute(
"Administrator_default",
"Administrator/{controller}/{action}/{id}",
new { action = "Index", id = UrlParameter.Optional });
}
}
}
si vous avez un problème avec le contrôle de routage cela.
Je recommande d'utiliser ce guide, et créer des tests pour chaque routage: Comme nous le faisons habituellement http://haacked.com/archive/2007/12/17/testing-routes-in-asp.net-mvc.aspx
Pouvez-vous publier votre fonction MapRoute? – ericb
J'ai ajouté l'appel à MapRoute – ReFocus
Vérifiez que le nom AreaName remplacé est identique au chemin du dossier Area dans l'application globale. – kaps