2010-08-03 3 views
0

편집 버튼을 클릭하면 내 Gridview가 해당 데이터 소스를 새로 고치고 있습니다. 어떻게 이런 일이 일어나지 않도록 할 수 있습니까? 이것은 많은 기록이 없을 때 많은 문제가되지 않지만 많은 경우에는 시간이 많이 걸립니다. 데이터가 이미로드되어 편집 버튼이 데이터를 다시로드 할 필요가 없어야합니다. 편집 버튼은 템플릿 편집 버튼이며 Oracle 데이터베이스에 연결하는 SQL 데이터 소스를 사용하고 있습니다. SQL 데이터 소스는 드롭 다운 목록을 가리키는 제어 매개 변수를 사용합니다.템플릿 편집 링크를 클릭하면 Gridview에서 데이터 바인딩을 방지합니다.

모든 안내를 받으실 수 있습니다.

답변

1

둘 다 SqlDataSource 컨트롤을 사용하여 두 가지 가능성을 보았습니다.

SqlDataSource 컨트롤에서 캐싱을 사용하는 것이 가장 좋습니다. 그러나 이것은 실제로 당신의 문제를 해결하지 못할 수도 있습니다. 합리적인 것으로 캐시를 설정하면 단순한 편집 시나리오 이상의 많은 페이지 속도를 낼 가능성이 있습니다.

두 번째 옵션은 SqlDataSource 컨트롤에서 Updating 이벤트를 처리하는 것입니다. Updating 이벤트 중에 편집을 위해 포스트 백의 영향을받는 것으로 판단되면 e.Cancel을 true로 설정할 수 있습니다. 그렇게하면 업데이트가 건너 뜁니다. GridView가 이전 디스플레이 요청에서 가져온 항목을 기억하는 업데이트에 의존하는 경우 실제로는 작동하지 않을 수 있습니다. 이 경우 최근에 충분히 사용하지 못했습니다. 그렇다면 초기 페이지 표시에서 업데이트 된 이벤트를 처리하고 결과 데이터를 자동 롤 포드 캐시에 저장해야 할 수 있습니다. 이 작업이 복잡해질 수 있음을 알 수 있습니다 ...

사용 사례 (사용 방법)는 유스 케이스 세부 사항에 많이 달려 있습니다. 그래도 올바른 방향으로보고 시작해야합니다.

+0

나는 캐싱을 활성화하여 방망이에서 엄청난 차이를 만들었습니다. 데이터를 편집하는 사용자는 동일한 데이터를 건드리지 않으므로 캐시 된 차이가 없어야합니다. 나는 그대로 기본값을 떠났다. –

+0

우수. 나는 그 것이 효과가있는 솔루션 이었기 때문에 기쁩니다. –

관련 문제