2009-10-25 32 views
13

Sto scherzando con ASP.NET MVC 2 Anteprima 2 e sto cercando di capire come funziona il routing con le aree e così via. In una singola implementazione di progetto di aree, voglio un'area chiamata "admin".Routing e aree ASP.NET MVC

Sto cercando di essere in grado di avere gli 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 l'area creata. Ho i controller creati con le rispettive viste, ma è il routing che non riesco a ottenere. Qualche consiglio su come raggiungerei tale routing?

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!

Oltre alla questione (2009/10/25) sto chiedendo che cosa fondamentalmente percorsi e in quale ordine vorrei impostare in classe AreaRegistration del territorio? Ho fatto tutto quanto menzionato finora, ma senza risultati.

risposta

27

Register areas in single project

È necessario aggiungere il file routes.cs alla cartella settore amministrativo.

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

Mi sembra corretto. – 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

Questo è per ASP.NET MVC 2 Anteprima 1 - Sto lavorando su Anteprima 2 che include l'implementazione immediata di aree in un singolo progetto. RouteCollection non ha nemmeno un metodo MapAreaRoute in Anteprima 2. –

+0

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

Problemi correlati