2009-10-25 28 views
13

Estoy jugando con ASP.NET MVC 2 Preview 2 y estoy tratando de descubrir cómo funciona el enrutamiento con áreas y cosas así. En la implementación de un solo proyecto de áreas, quiero un área llamada "admin".Enrutamiento ASP.NET MVC y áreas

Estoy tratando de ser capaz de tener direcciones URL así:

(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 

tengo el área creada. Tengo los controladores creados con sus respectivas vistas, pero es la ruta que parece que no puedo obtener. ¿Algún consejo sobre cómo lograría tal enrutamiento?

Estoy seguro de que esto puede ser extremadamente simple para algunos, pero no he tenido demasiada suerte en encontrar ejemplos que vayan más allá de lo básico.

Gracias!

Además de la cuestión (10/25/2009) Estoy básicamente preguntando qué rutas y en qué orden iba a establecer en la clase AreaRegistration de la zona? He hecho todo lo mencionado hasta ahora, pero sin resultados.

Respuesta

27

Register areas in single project

Hay que añadir el archivo a la carpeta routes.cs área de administración.

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 = "" } 
      ); 
     } 
    } 
} 
+2

Esto me parece correcto. – Haacked

0

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" }); 
+0

Eso es para ASP.NET MVC 2 Vista previa 1 - Estoy trabajando en Vista previa 2 que incluye la implementación de áreas en un solo proyecto. RouteCollection ni siquiera tiene un método MapAreaRoute en Vista previa 2. –

+0

http://forums.asp.net/t/1477416.aspx –

Cuestiones relacionadas