2012-11-14 4 views
0

타이머 컨트롤, 1 개의 업데이트 패널, 몇 개의 드롭 다운 등이있는 웹 페이지가 있습니다. 선택한 인덱스에서 많은 드롭 다운이 변경되어 두 개 이상의 컨트롤이 추가로 표시되어야합니다. 일부 컨트롤을 숨기거나 숨길 수 있습니다. 문제는 아직 사용자가 이벤트 click을 완료하지 못했다는 것을 인식하지 못하는 데 많은 시간이 걸립니다. 몇 가지 아이디어를 제안하십시오.C# 드롭 다운 목록에서 많은 시간이 걸리는 인덱스 변경

+0

왜 시간이 오래 걸립니까? – climbage

+2

1.보다 효율적인 코드를 작성하거나 2. 웹 서버를 더 빨리 구입하십시오. 3. 모든 UI 상호 작용을 위해 서버로 왕복 이동해야하는 웹 스택을 사용하지 마십시오. – ean5533

답변

2

시간이 오래 걸리면 드롭 다운 선택이 변경 될 때 서버 측 이벤트 핸들러를 사용하고 있다고 가정합니다. 서버 측 이벤트가 발생하면 양식이 서버에 다시 게시되고 서버가 양식을 다시 렌더링하여 클라이언트로 다시 보낸 다음 클라이언트가 업데이트 패널의 내용을 대체한다는 것을 의미합니다. 따라서 사용자는 느려질 수있는 여러 요인의 영향을받습니다.

옵션이있는 경우 이벤트 처리가 클라이언트 측에서 수행되도록 페이지를 다시 작성할 수 있습니다. 일부 JavaScript 코드를 작성하고 페이지를 업데이트하는 데 필요한 데이터가 JavaScript에서 사용 가능한지 확인해야합니다. 순수한 클라이언트 측 업데이트에 필요한 모든 데이터를 노출 할 수 없다면 Ajax 호출을 사용하여 필요한 데이터 만 얻을 수 있습니다. 전체 부분 포스트 백보다 가벼워 야합니다.

이 모든 것은 많은 작업이지만 페이지를 더욱 빠르게 만들어야합니다. 물론 페이지의 속도를 해결할 필요는 없지만 페이지가 업데이트되고 있음을 사용자가 알 수 있도록 더 나은 피드백을 제공 할 수 있습니다. 예를 들어 부분 재 게시가 진행되는 동안 "로드 중 ..."표시기가 있으면 사용자는 기다릴 것을 알게됩니다.

+0

제이콥에게 해결해 주셔서 감사합니다. 나는 포스트 백에 로딩 이미지를 사용했다. 처음에는 대부분의 이벤트 처리를 클라이언트 쪽에서 처리했지만 나중에 저장 용 타이머를 추가 한 다음 사용자 지정 서식있는 텍스트 편집기를 추가해야만 클라이언트 쪽 코드가 제대로 작동하지 않으므로 전체 이벤트 처리기가 서버 쪽으로 이동되었습니다. – Ann

관련 문제