0

MVC 5에 몇 개의 영역이 있으며 각 영역마다 자체 HomeController가 있습니다.MVC 5 영역 URL의 홈 컨트롤러 숨기기

/domain/{area}/{controller}/{action}/{id} 
/domain/myarea/home/myaction 

그것이 가능 각 영역에 대한 홈 컨트롤러 이름을 숨길 수있는 경로를 구성하려면 다음과 같이 그래서 URL이 보인다? 따라서 URL은 다음과 같아야합니다 : /domain/myarea/myaction - 물론 지역의 홈 컨트롤러를 가리 킵니다.

감사합니다. 알렉스.

+0

routeconfig.cs 파일에서 새 경로를 매핑 할 수 있습니다. 새 라우트에는 action 매개 변수가 포함되어 있습니다. 더 구체적인 라우트가 routeconfig.cs의 최우선 순위에 놓 였는지 확인하십시오 –

답변

0

컨트롤러 이름을 제거하기 위해 지역 등록을위한 경로 패턴을 업데이트 할 수 있어야합니다. 예를 들어

:

public class EventsAreaRegistration : AreaRegistration 
{ 
    public override string AreaName 
    { 
     get 
     { 
      return "Events"; 
     } 
    } 

    public override void RegisterArea(AreaRegistrationContext context) 
    { 
     context.MapRoute(
      "Events_default", 
      "Events/{action}/{id}", 
      new { action = "Index", controller = "Home", id = UrlParameter.Optional }, 
      new string[] { "MyProject.Areas.Events.Controllers" } 
     ); 
    } 
} 

지금 요청 yourSite/Events/Details/23은 이벤트 영역에 HomeController의 세부 정보 표시 작업 방법을 반환합니다.