Frage

Ich bin Herumspielen mit ASP.NET MVC 2 Preview 2 und ich versuche, herauszufinden, wie Routing mit Bereichen und so funktioniert. In einem einzigen Projekt Implementierung von Bereichen, möchte ich einen Bereich namens „admin“.

Ich versuche, der Lage sein, Urls wie diese haben:

(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

Ich habe das Gebiet erstellt. Ich habe den erstellten Controller mit ihren jeweiligen Ansichten, aber es ist das Routing, die ich nicht scheinen kann. Jede Beratung, wie ich würde eine solche Routing erreichen?

Ich bin sicher, dass dies für einige extrem einfach sein, aber ich habe nicht zu viel Glück gehabt Beispiele zu finden, die über die grundlegenden Sachen gehen.

Danke!

Neben der Frage (2009.10.25) Ich frage im Grunde, was Strecken und in welcher Reihenfolge würde ich in der Gegend AreaRegistration Klasse einrichten? Ich habe alles getan, was bisher genannten, aber ohne Ergebnisse.

War es hilfreich?

Lösung

Registerbereiche in einzelnen Projekt

Sie müssen hinzufügen routes.cs zum Admin-Bereich Ordner-Datei.

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

Andere Tipps

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" });
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top