2010-05-26 5 views
2

How to: Define Routes for Web Forms Applications에서 URL 라우팅에 대해 읽고 있는데 이해할 수없는 예가 있습니다. queryvalues는 그것의 앞에 별표 (*)를 가지고 로케일과 올해는하지 않는 이유는 예를 보면이URL 라우팅 문서 질문

routes.MapPageRoute("", "SalesReport/{locale}/{year}/{*queryvalues}", "~/sales.aspx"); 

특히

"SalesReport/{locale}/{year}/{*queryvalues}" 

에서, 아래에 제공된?

답변

0

*는 "모두 캐치"매개 변수를 나타내며 기본적으로 요청 된 URL의 모든 항목과 일치합니다.

URL의 "연도"매개 변수 다음의 모든 항목이 queryvalues ​​매개 변수로 덤프됩니다. 그래서 예를 들어, URL

http://whatever/SalesReport/canada/1999/x=1 

당신에게 "x=1"로 채워진 queryvalues ​​변수를 제공 할 것입니다. 그러나 URL과 일치 할 수도 있습니다.

http://whatever/SalesReport/canada/1999/x=1/y=2/z=3 

쿼리 값은 "x=1/y=2/z=3"으로 채워집니다.

경로에 하나의 포괄적 인 매개 변수 만있을 수 있으며 마지막 매개 변수 여야합니다.

+0

좋아, 알겠습니다. 로케일과 연도는 sales.aspx에서와 같이 쿼리 문자열에서 sales.aspx로 전달되는 매개 변수가 될 것입니다. locale = foo & year = 2010 –

+0

웹 폼이 라우팅 토큰을 처리하는 방법에 본질적으로 익숙하지 않지만, 예. – womp

+0

알겠습니다. 설명 해줘서 고마워. –