문제

나는 ASP.NET MVC 2 Preview 2를 엉망으로 만들고 있으며 지역과의 라우팅이 어떻게 작동하는지 알아 내려고 노력하고 있습니다. 영역의 단일 프로젝트 구현에서 "Admin"이라는 영역을 원합니다.

나는 다음과 같은 URL을 가질 수있게하려고 노력하고 있습니다.

(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

나는 영역이 만들어졌다. 각각의 견해로 컨트롤러가 생성되었지만 얻을 수없는 라우팅입니다. 내가 그러한 라우팅을 어떻게 달성 할 것인지에 대한 조언이 있습니까?

나는 이것이 일부에게는 매우 간단 할 수 있다고 확신하지만, 기본적인 것들을 넘어서는 예를 찾는 데 너무 운이 없었습니다.

감사!

질문에 추가 (2009 년 10 월 25 일)나는 기본적으로 해당 지역의 AREAREGESTRATION 클래스에서 어떤 경로와 순서대로 설정 할 것인지 묻고 있습니까? 나는 지금까지 언급 된 모든 것을 해왔지만 결과는 없었습니다.

도움이 되었습니까?

해결책

단일 프로젝트에 영역을 등록하십시오

Admin 영역 폴더에 loures.cs 파일을 추가해야합니다.

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

다른 팁

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" });
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top