문제

컨트롤러보다 더 높은 레벨의 라우팅 맵을 만들 수 있는지 궁금합니다. 일반적인 라우팅에는 "/컨트롤러/액션/ID"가 포함됩니다. 내가 찾고있는 것은 "섹션/컨트롤러/액션/ID"또는 "컨트롤러/섹션/액션/ID"와 같은 것입니다. 어떻게 할 수 있습니까?

도움이 되었습니까?

해결책

문제 없어요. 예를 들어 URL의 경로를 만듭니다.

path/to/my/application/{controller}/{action}/{id}

... 평소와 같이 기본 컨트롤러와 작업을 제공합니다.

이것의 구체적인 예는입니다

context.MapRoute(
    "Admin_default",
    "admin/{controller}/{action}/{id}",
    new { controller = "AdminHome", action = "Index", id = "" }
);

예를 들어 다음 URL을 매핑합니다.

/admin/                   => AdminHomeController.Index
/admin/adminhome/         => AdminHomeController.Index
/admin/other/             => OtherController.Index
/admin/statistics/view/50 => StatisticsController.View(50)

그러나 예를 들어 다음과 같은 기본 경로가있는 경우 다음과 같습니다.

context.MapRoute(
    "Default",
    "{controller}/{action}/{id}",
    new { controller = "Home", action = "Index", id = "" }
);

... 그런 다음 관리 라우팅의 컨트롤러 동작 방법 도이 경로를 통해 액세스 할 수 있습니다. 사용 URL 라우팅 디버거 확실히 알아 내기 위해.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top