Pregunta

Estoy perdiendo el tiempo con ASP.NET MVC 2 Preview 2 y estoy tratando de averiguar cómo funciona el enrutamiento en áreas y cosas por el estilo. En una implementación de áreas de un solo proyecto, quiero un área llamada " admin " ;.

Estoy tratando de poder tener urls como este:

(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

He creado el área. He creado los controladores con sus respectivas vistas, pero es el enrutamiento 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 mucha suerte en encontrar ejemplos que vayan más allá de lo básico.

¡Gracias!

Adición a la pregunta (25/10/2009) Básicamente estoy preguntando qué rutas y en qué orden establecería en la clase de Registro de Área del Área? He hecho todo lo mencionado hasta ahora, pero sin resultados.

¿Fue útil?

Solución

Registrar áreas en un solo proyecto

Tienes que agregar el archivo route.cs a la carpeta del á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 = "" }
            );
        }
    }
}

Otros consejos

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" });
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top