2012-12-11 3 views
0

업데이트 패널에 이상한 문제가 있습니다.이상한 업데이트 패널 (Devexpress Controls)의 문제

내 응용 프로그램 중 하나에서 Devexpress Controls, JQUERY AJAX를 사용하고 있습니다. 나는 aspxgridview가있는 페이지에서 Jquery, JS 및 AJAX + Update Panel을 사용하여 서버 측 코딩 + 클라이언트 측 코딩 aproach를 사용했습니다.

는 내가 직면 한 문제에 따라 상황의 예를 통해 시나리오를 만드는 오전 : e.g.County, 국가 및 도시에 대한 몇 가지 ASPxcomboBoxes을있다

1).

2) 국가 별 클라이언트의 선택된 인덱스 변경에서 AJAX를 통해 데이터를 가져 와서 JSON을 사용하여 상태 ASPxComboBox에있는 상태를 바인드하고 클라이언트 인덱스가 State 변경시 도시 콤보에 대해서도 바인딩합니다.

3) 도시 콤보의 인덱스 변경에서 ASPxGridView와 관련 데이터 및 ASPxGridView를 바인딩했습니다. ASPxGridView를 Ajax를 통해 바인딩 할 수 없으므로 업데이트 콤보 상자에서 래핑됩니다. 포스트 백을 피하려면 업데이트 패널을 사용하고 그것의 일 벌금.

4) 사용자가 제출 제출시 그리드에서 어떤 레코드도 선택하지 않으면 사용자는 하나의 레코드를 선택하고 서버 측 버튼의 클릭 이벤트에 대한 유효성을 유지했다는 메시지를 표시합니다.

이제 문제는 제출 및 유효성 검사가 발생한 후입니다. 주정부의 콤보 항목은 예를 들어 초기 항목은 --select--, USA 였고 유효성 검사가 끝나면 --select--, USA, --select--, USA를 제출했습니다.

페이지로드 이벤트의 컨트롤을 클라이언트 쪽을 통해 바인딩 한 것으로 바인딩하지 않았습니다. EnableSynchronisation 속성은 aspxComboBox의 클라이언트 및 서버 항목을 동기화하기 위해 True입니다.

제출을 클릭하면 디버거를 사용할 때가 나타납니다. 페이지로드 이벤트에서 상태 조합을 빠르게 보았고 항목 수는 2이므로 반복 항목 수는 4입니다.

페이지의 첫 번째 줄에 문제가 있습니다. 시계에 추가 할 때로드 이벤트가 발생합니다. 항목 수가 서버에 잘못 게시 된 것을 의미하는 4로 계산됩니다.

업데이트 패널을 제거하면 모든 것이 정상적으로 작동합니다.

잘못된 항목/반복 항목이 서버에 게시되는 이유를 모르겠습니다. 도와주세요.

+0

항목을 바인딩하기 전에 각 페이지로드에서 콤보 상자 항목을 지 웁니다. – User1674987

+0

@ 유니버설, ASPxComboBox를 페이지로드 이벤트에 바인딩하지 않았습니다. 나는 다른 콤보의 클라이언트 인덱스 변경 이벤트를 사용하여 AJAX를 통해 그것을 묶었습니다. 나는 서버 사이드 이벤트를 사용하지 않았다. –

+0

논리에 따라 클라이언트 쪽이든 서버 쪽이든 먼저 콤보 상자에 항목을로드하기 전에 매번 항목을 지우려고합니다. – User1674987

답변

0

문제가 해결되었습니다.

업데이트 패널을 상태 콤보에 래핑했습니다.

사실 클라이언트에서 바인딩하기 위해 AJAX를 사용 했으므로 Server Operations를 통해 상태 콤보를 새로 고칠 필요가 없으므로 필요하지 않았습니다.

하지만 업데이트 패널을 래핑하면 문제가 해결되었습니다.