2010-04-01 2 views
1

ASP.Net MVC를 배우는 동안 나는 작은 부동산 검색 엔진에서 일해 왔습니다. 나는 다양한 속성 데이터베이스 테이블의 결과를 얻었고 마스터 일반 속성 응답으로 정렬했습니다. 검색 양식은 모델 바인딩을 통해 전달되며 훌륭하게 작동합니다.ASP.Net MVC - 데이터베이스에 쿼리 결과를 어떻게 쉽게 serialize 할 수 있습니까?

이제 페이지 매김을 추가하고 싶습니다. .Skip() 및 .Take()를 사용하여 현재 페이지의 속성 청크를 반환합니다. 나는 페이징 된 결과 집합과 nextPage 및 prevPage와 같은 다양한 다른 데이터가있는 SearchResults 모델을 가지고 있습니다.

제외하고는 더 이상/결과/2에 전달할 원래 양식이 없습니다. 이전에는 양식 사본을 숨기고 매번 POST를 했었지만 멋지지 않게 보였습니다. 내 MS SQL 데이터베이스 결과를 serialize하고 그 결과 집합에 대한 고유 한 키를 반환하고 싶습니다.이 또한 "이 쿼리를 친구에게 보내십시오!" 링크. 한 돌로 두 마리 죽이기.

내가 가지고있는 IQueryable 결과 집합을 가져 와서 직렬화하고 DB에 저장하고 고유 키를 반환 한 다음 해당 키를 사용하여 프로세스를 되돌릴 수있는 쉬운 방법이 있습니까? 나는 현재 MS SQL Express에 SQL에 Linq를 사용하고 있습니다.하지만 제작시 MS SQL 2008에 설치 될 것입니다.

+0

. 즉석에서 쿼리를 생성하고 저장하려고합니까? 명확성을 위해 몇 가지 코드를 제공해 주시겠습니까? –

+0

세션 사용은 어떻게됩니까? –

답변

0

이것은 쿼리 저장에 대한 질문에 대답하지 않지만 페이징을 구현해야합니다 .

이 활용을 고려하십시오 ASP.NET MVC Paging solution. 몇 가지 확장 메서드와 소수의 클래스를 추가하고 예를 들어 IEnumerable<Product> 대신에 IPagedList<Product>으로보기를 강력하게 입력합니다. 호출기 HTML을 작성

이만큼 간단하다 : 나는 다음과 같은 아니에요

<div class="pager"> 
    <%= Html.Pager(Model.PageSize, Model.PageNumber, Model.TotalItemCount) %> 
</div> 

alt text http://blogs.taiga.nl/martijn/wp-content/uploads/subtext/WindowsLiveWriter/PagingwithASP.NETMVC_D952/aspnetmvc-pager-2_thumb.png

관련 문제