Привет общие вещи, чтобы посмотреть:
Вы зарегистрировали картографию области и области?у вас одинаковое имя для контроллера в обоих местах?
Пример отображения области в global.asax
см. строку: AreaRegistration.RegisterAllAreas ();// Это часть, которую вам нужно выполнить
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());
}
}
, и в каждой области должен быть установлен файл сопоставления или сопоставления.Пример здесь
namespace Project {/// /// Регистрация области администрирования /// открытый класс AdministratorAreaRegistration: AreaRegistration {/// /// Получает имя области, подлежащей регистрации./// /// Название области для регистрации.общедоступная переопределенная строка AreaName {get {return "Administrator";}}
/// <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 });
}
}
}
, если у вас есть проблемы с маршрутизацией, проверьте это.
Я бы рекомендовал использовать это руководство и создавать тесты для каждой маршрутизации: http://haacked.com/archive/2007/12/17/testing-routes-in-asp.net-mvc.aspx