2010-07-21 11 views
10

Tengo un sitio MVC 2 con un área, digamos que es el nombre del área de administración {}asp.net mvc área de página por defecto

Las áreas y el sitio funciona bien.

Lo que intento hacer es tener una página predeterminada diferente para el área.

Cuando estoy llamando http://webSiteName obras sin ningún problema

pero para http://webSiteName/Admin estoy consiguiendo el error

El recurso no se puede encontrar

lo probé las soluciones de ASP.NET MVC 2 RC 2 returns Area-specific controller when no area specified pero sin suerte.

me trataron también

routes.MapRoute(
       "Admin",           
       "{controller}/{action}/{id}",        
       new { controller = "AdminHome", action = "index" }, 
       new[] { "Web.Areas.Admin.Controllers" } 
       ); 

y

routes.MapRoute(
       "Admin",          
       "Admin",        
       new { controller = "AdminHome", action = "index" }, 
       new string[] { "Web.Areas.Admin.Controllers" } 
       ); 

pero todavía estoy recibiendo El recurso no puede ser encontrado.

¿Qué estoy haciendo mal?

+0

Marque la respuesta como aceptada si lo ayudó. –

Respuesta

14

Pruebe esto. Asegúrese de que estará en /Areas/Admin/AdminAreaRegistration.cs cuando su Área se llame Admin.

public override void RegisterArea(AreaRegistrationContext context) 
    { 
     context.MapRoute(
      "Admin_default", 
      "Admin/{controller}/{action}/{id}", 
      new { controller = "AdminHome",action = "Index", id = "" } 
     ); 
    } 

No es necesario añadir nada a su Global.asax.

+0

Gracias Martin, finalmente fue más fácil de lo que pensaba. :) – StrouMfios

Cuestiones relacionadas