ASP.NET MVC 라우팅 및 영역
-
06-07-2019 - |
문제
나는 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" });
제휴하지 않습니다 StackOverflow