2011-01-06 3 views
1

이 질문은 중복 될 수 있지만 아직 찾지 못했습니다. 그렇다면 나를 가리켜주십시오.ASP.NET MVC 2 페이징 정렬 필터링

IQueryable을 모두 사용하여 페이징 및 정렬의 많은 예제를 보았지만 IQueryable을 사용하지 않거나 적어도 외부 리포지토리 (외부에 공개하지 않음)에서 사용하지 않으려합니다.

Linq To SQL을 사용하고 있지 않습니다. 내 저장소가 현재 DTO 또는 ICollection을 반환합니다.

저는 JqGrid를 사용하고 있습니다. 한 번에 모든 데이터를 내리고 싶지 않습니다.

내 응용 프로그램이 현재 개발 중이므로 컨트롤러에서 모든 데이터를 가져온 다음 페이징, orderBy, 건너 뛰기 등을 수행합니다.

나는 데이터베이스 수준에서 이러한 작업을 수행하는 것이 좋습니다. (데이터베이스 크기가 커질수록 효율적이라고 생각합니다).

내가

감사를 페이징을 구현 정렬 및 필터링에 대해 이동하는 방법에 대한 어떤 제안,

답변

3

당신이 당신의 자신의 DAL를 사용하는 경우는 잘 모르겠어요 조언 누군가의 종류 줄 수있어. 페이징의 99 %는 데이터 영역에서 수행하는 작업입니다. 나머지는 단순히 url 변수를 사용하여 이러한 명령을 데이터 영역으로 보냅니다.

public ActionResult Browse(string search, int page, string sortedBy) 
{ 
     var dataz = MyDAL.GetResults(search, page, sortedBy); 
} 

나머지는 정말 당신에게 달려 있습니다 :

보통 검색/그리드/컬렉션 /가 대량 작업은 다음과 같이한다.

+0

나는 동의합니다. 필자는 DataAccess 레이어에 대한 페이지 매김 (Ipagination)과 같은 라이브러리를 필터링하여 페이지 매김을 구현하여 불필요한 작업을 복잡하게 만들었다 고 생각합니다. 더 자세히 살펴보면 위에서 설명한대로 (또는 더 명확한 질문을 할 때까지 :-) 계속됩니다. – TheMar