Domanda

Sto scherzando con ASP.NET MVC 2 Preview 2 e sto cercando di capire come funziona il routing con aree e simili. In un singolo progetto di implementazione di aree, desidero un'area denominata " admin " ;.

Sto cercando di essere in grado di avere URL come questo:

(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

Ho creato l'area. Ho i controller creati con le loro rispettive viste, ma è il routing che non riesco a ottenere. Qualche consiglio su come raggiungere tale percorso?

Sono sicuro che questo potrebbe essere estremamente semplice per alcuni, ma non ho avuto troppa fortuna nel trovare esempi che vadano oltre le cose di base.

Grazie!

Aggiunta alla domanda (25/10/2009) In sostanza, sto chiedendo quali percorsi e in quale ordine dovrei impostare nella classe AreaRegistration Area? Finora ho fatto tutto quanto menzionato, ma senza risultati.

È stato utile?

Soluzione

Registra aree in un singolo progetto

Devi aggiungere il file route.cs alla cartella dell'area di amministrazione.

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

Altri suggerimenti

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" });
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top