2011-08-08 3 views
1

라우팅의 기본 매개 변수 값에 대해 하나의 쉬운 질문입니다. 나는 다음과 같은 데이터를 글로벌 asax의 경로가있는 경우라우팅의 매개 변수에 대한 기본값

:

Name: "DetailPage" 
Pattern:/{companytitle}/{departmenttitle}/{persontitle} 
Controller="Person" 
Action="Detail" 

그리고 내가보기에 다음 헬퍼를 사용하고 있습니다 :

@(Url.RouteUrl("DetailPage",new{companytitle=Model.Companytitle, departmenttitle=Model.DepartmentTitle,persontitle=Model.PersonTitle})) 

모델의 특성을 영상을 수 있습니다 DepartmentTitle이 null 인 경우 Route에서 기본값을 어떻게 설정할 수 있습니까?

답변

3

그냥 경로의 일부로 정의하고 아래와 같이 그들에게 기본 값을 제공 :

routes.MapRoute("DetailPage", 
       "/{companytitle}/{departmenttitle}/{persontitle}", 
       new { controller = "Person", action = "Detail", departmenttitle = "Science", persontitle ="Me" } 
       ); 
+0

덕분에 많이. 정말 유용합니다. – Jose3d

+0

그리고'/ somecompany/foo' 요청을'Detail' 액션에 전달합니다 (이 액션은 3 개의 라우트 매개 변수에 해당하는 3 개의 인자를 취한다고 가정). –

+0

companytitle = somecompany, departmenttitle = foo, persontitle = Me – amurra

2

모델 DepartmentTitle의 속성이

당신은 그런 일을 상상해서는 안 null 인 것을 이미징을 할 수 있습니다. 경로의 마지막 매개 변수 만 null (또는 비어 있음)이 될 수 있습니다. 매개 변수가 null이거나 비어있을 수 있으면 매개 변수가 경로 정의의 일부가 아니어야합니다 (물론이 매개 변수가이 경로 정의의 마지막 매개 변수가 아니라면). 그러나 쿼리 문자열로 전달됩니다. 귀하의 경우에는

단순히 같은 경로를 정의

관련 문제