2010-04-29 5 views

답변

1

각 링크에 페이지 번호를 나타내는 쿼리 문자열 필드를 추가해야합니다. 그런 다음 데이터 탐색기 컨트롤의 querystringfield 특성을 해당 쿼리 문자열 필드의 이름과 같게 설정해야합니다. 예를 들어

: 당신은 또한 런타임에 StartRowIndex 속성을 설정할 수 있습니다 http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.datapager.querystringfield.aspx

당신이 페이징 수학을 직접 수행 할 경우 :

MSDN에서
<asp:DataPager ID="dpItems" runat="server" PagedControlID="lvItems" PageSize="10" QueryStringField="pageNumber"> 

. 그러나 페이지를 직접 설정할 수는 없습니다. 예를 들어 페이지 당 10 개의 레코드를 표시하고 두 번째 페이지를 표시하려면 런타임 코드에서 myDataPager.StartRowIndex = 20을 설정합니다.

또는 datapager는이 연산을 자동으로 처리하고 datapager의 필드를 설정하고 querystringfield 값을 설정할 때 페이징 컨트롤을 생성 할 수 있습니다. 다음/이전 단추, 숫자 페이지 링크를 사용하거나 템플릿에서 사용자 고유의 페이징 컨트롤을 정의 할 수 있습니다. 자신의 페이징 컨트롤을 정의하는 경우

, 다음은 다음과 같이 수 :

는 그 다음 lvItems의 OnDataBound 이벤트 (자리 표시 자) lvItems.FindControl ("phPageNumberButtons"로 자리 표시자를 잡아) 다음 컨트롤을 자리 표시 자에 추가하십시오. 또한

, 당신은 당신이 필드에 대한 자세한 정보를 얻을 수있는 MSDN 문서에 대한 링크의 사용자 목록보기의 ID 여기

동일 PagedControlID을 정의해야합니다 msdn.microsoft.com/en-us/library/를

+0

OK, 쿼리 문자열을 가져오고 설정할 수 있지만 목록보기 내의 링크를 클릭해도 여전히 페이지 1로 되돌아갑니다. querystring 번호로 datapager 속성을 설정할 것으로 예상했지만 이러한 속성을 찾을 수 없습니다. 아마도 이것은 자동으로 수행되지만 작동하지 않을 수 있습니다. 위의 코드를 사용하여이 코드를 "& pageNumber ="+ dataPagerBottom.QueryStringField 링크에 추가했습니다. 내가 놓친 게 있니? – insanepaul

+0

런타임시 페이지 번호를 설정하기 위해 무엇을해야하는지 알 필요가 있습니다. – insanepaul

+0

이것을 파악할 수 있었습니까? – balazs

관련 문제