Pergunta

Eu estou brincando com ASP.NET MVC 2 Preview 2 e estou tentando descobrir como roteamento de obras com áreas e tal. Em uma única implementação do projeto de áreas, eu quero uma área chamado "admin".

Eu estou tentando ser capaz de ter 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

Tenho a área criada. Eu tenho os controladores criados com seus respectivos pontos de vista, mas é o encaminhamento que eu não consigo obter. Qualquer conselhos sobre como eu iria conseguir tal roteamento?

Estou certo de que isso pode ser extremamente simples para alguns, mas eu não tive muita sorte em encontrar exemplos que vão além do material básico.

Obrigado!

além da questão (2009/10/25) Estou pedindo basicamente o que rotas e em que ordem que eu iria configurar na classe AreaRegistration da Área? Eu tenho feito tudo mencionado até agora, mas sem resultados.

Foi útil?

Solução

áreas registrar em único projeto

Você tem que adicionar o arquivo routes.cs para a pasta área de administração.

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

Outras dicas

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 em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top