MvcPager3을 사용하여 내 뷰 중 하나에 페이지 매김을 추가하고 싶습니다. AutoMapper를 사용하여 모델을 단순화 된 뷰 모델에 매핑하는 것을 제외하고는 간단합니다. Automapper와 MvcPager3가 함께 작동합니다.
List<Call> calls = (from p in db.Calls orderby p.ID descending select p).ToList();
var viewModel = new List<CallListItem>();
Mapper.Map(calls, viewModel);
return View(viewModel);
는 나는이
var viewModel = new PagedList<CallListItem>();
와 함께이 라인
var viewModel = new List<CallListItem>();
를 교체하지만 PagedList이 항목의 목록을 사용하는 생성자를 가지고 것처럼 간단 할 줄 알았는데. automapper가 나를 위해이 작업을 수행 할 것이므로 null을 전달할 수 있다고 생각하지만 작동하지 않습니다.
아무도이 두 구성 요소를 조화롭게 사용해 본 경험이 있습니까?
감사
편집 :
MvcPager에 대한 대안이 PagedList라는 발견. 이미 페이징 된 데이터에 사용할 수있는 StaticPagedList 클래스가 있기 때문에 훨씬 더 좋습니다.
감사합니다. 그러나 때때로 페이지 된 요소는 다른보기 모델의 멤버입니다 (예 : MyViewModel.SomePagedElements). Automapper가 수동 개입없이 이러한 상황도 처리 할 수있게하고 싶습니다. – NoPyGod
@NoPyGod, 기본적으로 AutoMapper는 소스 유형 외에'currentPage'와'pageSize'에 대해 알고 싶습니까? AutoMapper는 그런 식으로 사용하기위한 것이 아닙니다. 단일 소스 유형과 단일 대상 유형을 맵핑합니다. –
흠 좋은 점 :) – NoPyGod