2013-07-09 3 views
0

내 URL은 다음과 같습니다 : www.example/videos/category1, category2, category3/sex/hospital/doctor하지만 내 URL 카테고리 1과 카테고리 2 및 카테고리 3 (1 또는 너무 많을 수 있음) null/비어있다. 성이나 병원 또는 의사도 null 일 수 있습니다. 어느 것이 null인지 어떻게 알 수 있습니까? 카테고리가 null의 경우 그런 다음 mvc는 섹스를 범주로, 병원은 섹스로 인식합니다. 어떤 접근법을 사용할 수 있습니까?Asp.net 특정 Mvc 라우팅

+1

난 당신이 매개 변수를 사용하는 것이 좋습니다 : http://stackoverflow.com/questions/2246481/routing-with-multiple-parameters-using-asp-net-mvc – Nick

+0

감사합니다. 그러나 나의 시나리오는 그것과 다르다. – fuat

답변

1

MVC는 이전 URL 부분이 다른 경로 인 경우 null인지 여부를 알 수 없습니다.

경로 인 경우 :

비디오/{범주}/{subcategory1}/{subcategory2}/{subcategory3}/

모두 선택 사항입니다. 그러나 카테고리가 다른 하위 카테고리와 다른 경우 null 일 때 위치 표시기가 있어야합니다. 기본적으로 카테고리가 null 일 때 다른 경로가 필요합니다.

context.MapRoute(
    "video_nocategories", 
    "videos/all/{subcategory1}/{subcategory2}/{subcategory3}/", 
    new 
    { 
     action = "Index", 
     controller = "Video", 
     categories = "", 
     subcategory1 = UrlParameter.Optional, 
     subcategory2 = UrlParameter.Optional, 
     subcategory3 = UrlParameter.Optional, 
    } 
); 

context.MapRoute(
    "video_categories", 
    "videos/{categories}/{subcategory1}/{subcategory2}/{subcategory3}/", 
    new { 
     action = "Index", 
     controller = "Video", 
     subcategory1 = UrlParameter.Optional, 
     subcategory2 = UrlParameter.Optional, 
     subcategory3 = UrlParameter.Optional, 
    } 
); 
+0

도와 주셔서 감사합니다. – fuat