사용자 검색 결과에 바인딩 된 내 페이지에 gridview가 있습니다. 최대 1000 페이지까지있을 수 있습니다. 각 페이지에는 50 개의 레코드가 표시됩니다. 그리드 용 페이징 기능이 내장되어 있습니다. 그리드에서 viewstate를 비활성화하려고하지만 모든 페이지로드시 결과를 바인딩해야합니다. (페이징시 두 번 바인드). 검색에 몇 초가 걸리고 결과를 세션에 저장하고 싶지 않습니다. 그래서, 어떻게 그리드에 대한 viewstate를 끄거나 달성 할 수 있습니까?gridview에 대한 viewstate/databinding
매우 일반적인 시나리오 여야합니다. 이 작업을 수행하는 표준 방법이 있기를 바랍니다.
ViewState를 사용하지 않으려는 이유는 무엇입니까? 페이지 당 50 레코드가 너무 많습니까? 또한 그리드의 페이징뿐만 아니라 데이터 소스 자체의 페이징을 고려하십시오. SQL 서버를 DBMS로 사용한 예 : http://stackoverflow.com/questions/548475/efficient-way-to-implement-paging –
이 페이지의 성능은 매우 중요합니다. 조회는 140 만 레코드가있는 테이블에서 찾아보기를 수행합니다. 처음에는 CTE에 있었지만 정기적 인 선택보다 2 초 정도 더 걸립니다. 테이크 및 스킵에 관해서는 페이징 옆에있는 레코드의 총 수를 표시해야합니다. 이런 종류의 결과는 총 결과 수를 계산해야하므로 take/skip의 이점을 버립니다. 사용자 정의 페이징을 수행 할 수 있습니다. 방금 작업 할 충분한 시간이 없었습니다. 그러나 그것은 여전히 viewstate의 문제를 해결하지 못합니다. 난 그냥 불필요한 오버 헤드를 제거하는 페이지를 최적화하려고합니다. –