Ho creato un'applicazione MVC4 vuota, tutto funziona correttamente, dopo di che aggiungo un'area al mio progetto denominato "Moderatore". La mia area codice di routing è come questo:MVC 4 Area Routing non funziona
using System;
using System.Web.Mvc;
namespace EskimoArt.Areas.Moderator
{
public class ModeratorAreaRegistration : AreaRegistration
{
public override string AreaName
{
get
{
return "Moderator";
}
}
public override void RegisterArea(AreaRegistrationContext context)
{
context.MapRoute(
"Moderator_default",
"Moderator/{controller}/{action}/{id}",
new {controller="Dashboard", action = "Index", id = UrlParameter.Optional }
);
}
}
}
E il mio codice Global.asx è come questo:
using System.Web.Http;
using System.Web.Mvc;
using System.Web.Optimization;
using System.Web.Routing;
namespace EskimoArt
{
// Note: For instructions on enabling IIS6 or IIS7 classic mode,
// visit http://go.microsoft.com/?LinkId=9394801
public class MvcApplication : System.Web.HttpApplication
{
protected void Application_Start()
{
AreaRegistration.RegisterAllAreas();
WebApiConfig.Register(GlobalConfiguration.Configuration);
FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
RouteConfig.RegisterRoutes(RouteTable.Routes);
BundleConfig.RegisterBundles(BundleTable.Bundles);
}
}
}
Ma ora voglio accedere al
> http://localhost/Moderator/Dashboard
Essa mostra un errore Pagina come questa
Server Error in '/' Application.
The resource cannot be found.
Description: HTTP 404. The resource you are looking for (or one of its dependencies) could have been removed, had its name changed, or is temporarily unavailable. Please review the following URL and make sure that it is spelled correctly.
Requested URL: /Moderator
Version Information: Microsoft .NET Framework Version:4.0.30319; ASP.NET Version:4.0.30319.17929
Avete dei controller nella vostra zona? –
Sì, ho il controller in La mia area. Capisco il problema in basso opzione che è che basta chiamare AreaRegistration.RegisterAllAreas(); prima del percorso predefinito –