2013-07-03 8 views
0

사용자가 시간표를 입력하는 데 사용하는 ASP.Net 응용 프로그램을 개발했습니다. 응용 프로그램은 그리드를 사용하여 날짜를 열로, 항목을 행으로 표시합니다. 사용자가 셀에 값을 입력 할 때마다 특정 날짜에 특정 프로젝트에 소비 된 시간을 나타낼 때마다 해당 날짜의 열 합계를 업데이트하는 JavaScript 함수가 있습니다. 사용자가 다른 행에 초점을 맞추면 행 총계도 업데이트됩니다.Asp.net 응용 프로그램에서 격자를 사용하면 브라우저가 이상한 동작을 보임

그리드의 행 수가 50 개 또는 그 이상의 행을 초과하면 이상한 동작이 나타납니다. 새 행을 추가하면 사용자가 첫 번째 셀을 채운 후 열 총 수에 대해 최대 40 초가 소요됩니다 업데이트가 진행되는 동안 브라우저는 작업이 완료 될 때까지 기다리고 있습니다. 컨트롤이 브라우저로 반환 된 후 동일한 행에있는 후속 셀을 채우면 합계가 즉시 업데이트됩니다. 새로운 행이 추가되면 동일한 동작이 나타납니다.

누군가이 문제를 해결하기 시작할 곳을 알려주시겠습니까? 이 브라우저가 관련되어 있습니까 (IE 8을 사용하고 있습니까?) 또는 JavaScript 코드를 조사해야합니까? 나는이 응용 프로그램을 사용하여 실행 해 보았습니다. FF를 사용하여 응용 프로그램을 실행하면 작동하지 않으므로 그렇게 테스트 할 수는 없습니다.

아이디어가 있으십니까?

+0

너무 많은 행을 추가 한 후에'ViewState'와 같은 소리가 부풀어 올 수 있습니다. ViewState를 사용하여 페이지 데이터를 저장하는 경우이를 제거하고 다른 위치에 배치하십시오. –

+0

답장을 보내 주셔서 감사합니다. 나는 그것을 점검 할 것이다. 나는 Viewstate가 ASP.net에서 기본적으로 사용되기 때문에이 응용 프로그램도 마찬가지라고 생각 하겠지만, 특별히 이렇게 설정하지는 않았습니다. 그러나 컨트롤 상태가 아닌 다른 데이터를 저장하는 데 사용됩니까? 나는 그것이 통제 상태 이외의 것을 위해 그것을 사용하지 않는다는 것을 가장 확신한다. 해당 데이터를 저장하기위한 대체 장소는 무엇입니까? 또한, 부풀어 오르는 경우에 셀의 모든 후속 엔트리 또한 오랜 시간이 걸릴 것이라는 것은 이해가되지 않을까요? – user1012598

+0

그것에 대해 생각해보기 포스트 백이 없으므로 Viewstate는 실제로이 예제에서 사용되지 않습니다. – user1012598

답변

0

관심있는 사람에게 문제가되는 것은 Ig2010.3의 getRow() 메소드 때문입니다. 나는 페이지의 논리를 재배치했고, 이제는 그렇지 않은 경우 셀의 내용을 읽는다. 이제 괜찮아.