ASP.NET

컨트롤러 이름에 제약조건 주기

Sunny's 2010. 7. 8. 08:56
 routes.MapRoute(
            "News",
                "news/{controller}/{action}/{id}",
                new { controller = "Announcement", action = "Index", id = ""},
                new { controller="Announcement|Healthcare|Policy|Poll|Search"}
            );

위와 같이 라우팅 항목을 추가하면 컨트롤러에는 네번째 인자에서 지정한 이름의 컨트롤러만이
URL에 사용될 수 있다.

즉,

Http://127.0.0.1/news/Announcement/Index       ---> OK
Http://127.0.0.1/news/Healthcare/Index       ---> OK
Http://127.0.0.1/news/Policy/Index       ---> OK
Http://127.0.0.1/news/Poll/Index       ---> OK
Http://127.0.0.1/news/Search/Index       ---> OK


but,

Http://127.0.0.1/news/Blog/Index       ---> Hell~ NO !!!!


이라는것..........

여기에 보통 디폴트로 추가되는 라우팅 규칙을 제거하면

Http://127.0.0.1/news/Announcement/Index   이러한 URL은 허용되지만

Http://127.0.0.1/Announcement/Index   요러한 URL은 허용되지 않는다...

서브 경로를 줄때 요긴하게 사용될 듯하다...