잊지 않겠습니다.

ASP .NET MVC Framework에서는 URL에 대한 각각의 Controller를 기본적으로 다음과 같이 사용하고 있다.

 

            routes.MapRoute(
                "Default",                                              // Route name
                "{controller}/{action}/{id}",                           // URL with parameters
                new { controller = "Home", action = "Index", id = "" }  // Parameter defaults
            );

 

여기에서, 각각의 Route는 기본적으로 Controller/Action/Parameters 형태로서 구성이 되지만, 다음과 같이 다른 형태의 Route역시 가능하다.

 

http://localhost/Product/Create/id          
  routes.MapRoute(
                "Product",                                              // Route name
                "Product/{action}/{id}",                           // URL with parameters
                new { controller = "ProductManager", action = "List", id = "" }  // Parameter defaults
            );


http://localhost/Product/id/Edit

routes.MapRoute(   
                 "ProductEdit",        // Route name  
                 "Product/{id}/Edit",  // URL with parameters     
                 new { controller = "ProductManager", action = "Edit", id = "" }  // Parameter defaults 
           );

 

Caution!!!

Route를 여러개 지정하는 경우에는 차례대로 먼저 알아보게 된다. 기본적인 Controller를 가장 최 상단으로 올리는 경우에 그 뒤에 나오는 모든 sub-url을 기본적으로 controller로 해석하려고 하기 때문에 무조건 에러가 발생하게 된다.

사용자 지정 URL을 넣어주는 경우에는 먼저, 사용자 URL을 먼저 넣어주고 그 후에 기본적으로 사용하는 Default Route를 넣어주는 것이 하나의 방법이 된다.

Posted by Y2K
,