우리는 ASP.NET MVC 프로젝트로 전진 할 것을 고려 중이고 라우팅 대 파라미터의 주제가 나타납니다.라우팅 규칙을 사용할 때 asp.net mvc와 함께 쿼리 문자열 매개 변수
ASP.NET MVC에서 둘 중 하나 또는 둘 모두의 조합을 쉽게 설정할 수있는 방법을 보면 하나 또는 둘 다를 사용할 때주의해야 할 사항이 있습니까?
우리는 ASP.NET MVC 프로젝트로 전진 할 것을 고려 중이고 라우팅 대 파라미터의 주제가 나타납니다.라우팅 규칙을 사용할 때 asp.net mvc와 함께 쿼리 문자열 매개 변수
ASP.NET MVC에서 둘 중 하나 또는 둘 모두의 조합을 쉽게 설정할 수있는 방법을 보면 하나 또는 둘 다를 사용할 때주의해야 할 사항이 있습니까?
최대한 URL을 깨끗하게 유지하고 가능할 때마다 경로를 사용하는 것이 좋습니다. 사용자에게 정보를 전달하는 RESTful URI를 만들어야한다. 예를 들면 : 당신이 다음 깨끗한 URI 수 없으며 적은 정보가 사용자에게 전달되는 쿼리 문자열의 톤을 사용하는 경우
www.yourdomain.com/Products/Sports/Clothing
는
www.yourdomain.com/Products?Department=Sports&SubDepartment=Clothing
보다 훨씬 청소기입니다.
Google 팀에서는 jquery를 사용하여 ajax 유형 요청에 대해 쿼리 문자열을 사용합니다. 이러한 URI는 마크 업에 있으며 브라우저 창에 표시되지 않기 때문입니다. 이것은 우리의 global.asax가 약간의 경로로 오염되지 않기 때문에 조금 작게 유지하는 것을 도왔습니다.
내 프로젝트에서는 선택적 값에 대해서만 쿼리 문자열을 사용합니다. 대부분 필터링, 정렬 및 페이지 목록. 선택 값은 경로에서 처리하기가 어렵습니다.
URL에 쿼리 문자열을 유지하는 것이 훨씬 어렵습니다. ActionLink 및 다른 라우팅 인식 도우미를 사용할 때 렌더링되지 않습니다.
"선택 값은 경로에서 처리하기 어렵습니다"라는 것을 알 수 있습니다. 그 문장에 대해 더 분명히 할 수 있습니까? – Adrian
URL에 경로에 선택적 값이 있습니다. 옵션 값 "OrderBy"및 "FilterBy"가 있다고 가정 해 보겠습니다. 그 길에서 어떤 모습일까요? 어쩌면/mycontroller/myaction/orderbyprice/filter와 같은 것을 사용할 수 있습니다. OrderBy가 없으면 경로는/mycontroller/myaction/{null에 매핑 된 값}/filterby가 사용 가능하게됩니다. 경로 끝에 옵션 값이 있으면 OK입니다. –
전체적으로 좋은 조언. –