2008-08-05 3 views
12

나는 최적화하려고하는 웹 애플리케이션을 가지고있다. 컨트롤 중 일부는 대화 상자 스타일 DIVs에 숨겨져 있습니다. 그래서, 나는 AJAX를 통해 사용자가 그들을보고 싶어 할 때만로드하도록하고 싶습니다. 대부분 리터럴 기반의 컨트롤 (다양한 메뉴와 위젯)에서는 괜찮습니다. 그러나 내가 "더티 (doirty)"컨트롤 - ViewState에 광범위한 정보를 쓰는 컨트롤을 페이지에 CSS 또는 스크립트를 넣으려면, 많은 참고 자료 등 - ​​이것은 ASP.NET이 포스트 백 (postback)에 어떻게 반응 할 것인지를 고려하여 "페이지 밖"으로 이동하는 것은 불가능합니다.AJAX WebControls에 쉬운 방법

나는 Render를 오버라이드하고, 나가기를 원하는 마커를 찾고 거기에 AJAX 자리 표시자를 넣는 단계를 고려하고 있었지만 서버 오버 헤드가 극심한 것뿐만 아니라 완전한 해킹을 느낄뿐만 아니라 . 게다가 핵심 요소는 여기에 유효성 검사 컨트롤이있는 양식이 들어있는 대화 상자입니다. 컨트롤을 이동하는 방법을 상상할 수 없습니다. 필요한 스크립트. 나의 열이있는 상상에서

, 나는이 작업을 수행 할 수 :

AJAXifier.AJAXify(ctlEditForm); 

슬프게도, 나는 이것이 꿈 알고있다.

서버에 너무 많은 부하를주지 않고도 신속하고 간편하게 AJAXification에 얼마나 가까이 갈 수 있습니까?

+0

@ [tags2k] (http://stackoverflow.com/questions/2196/easy-way-to-ajax-webcontrols#2404) - 도움이된다면 [$ 799]에 대한 컨트롤 세트 라이센스를 얻을 수 있다고 생각합니다. (http://www.telerik.com/purchase/purchase-individual/b219S-kgb.aspx) (구독 및 소스 코드 제외) –

답변

2

Telerik에서 RadAjax 컨트롤을 확인하십시오.이 컨트롤을 사용하면 UpdatePanels를 사용하지 않고 호출 컨트롤간에 직접 관계를 선언하고 서버와 클라이언트간에주고받는 정보의 양을 제한 할 수 있습니다.이 컨트롤은 "Ajaxified" 호출 컨트롤이 포스트 백을 제출할 때.

+0

그건 정확히 내가 원하는 것인데, 불행히도 $ 999이고 단순히 예산에 포함되지 않습니다. 다른 사람이 싼 대안을 갖고 있지 않다면 나는 당신의 게시물을 답으로 표시 할 것입니다! @ Rob : 전체 솔루션에 UpdatePanel이 없다는 것을 자랑스럽게 생각합니다. 나는 그들과 엄청나게 비효율적 인 cruft에도 불구하고 말입니다. 더러운 통제를 정리하는 것에 대한 문제는 범죄자가 내 것이 아니라는 것입니다. 그들은 Microsoft의 것입니다! – tags2k

0

1 단계는 "더러운"조각을 만드는 것입니다 자체는 사용자가

2 단계는 세 번째 단계는 자신의 ASP에서 각 사용자 제어 태그를 래핑하는 것입니다

당신의 소비 페이지에서 이러한 컨트롤을 포함하는 제어 포함 : UpdatePanel

4 단계는 기존 값에 대한 viewstate를 검사하는 속성에서 읽음으로써 제어가 필요한 데이터를 얻도록하는 것입니다. 나는 이것이 당신의 코드를 추악한 전역 변수에 의존하게 만들었다는 것을 알고 있지만 이것을 수행하는 빠른 방법이다.

귀하의 마일리지는 다를 수 있습니다.

1

이번 주말에 지역 서점으로 걸어 가서 커피 한 잔 마시고 Manning Press의 jQuery를 찾아 보시기 바랍니다. 상점에서이 300 페이지 분량의 책의 첫 번째 장을 읽은 다음 그 점이 당신과 공감한다면 그것을 구입하십시오.

jQuery를 사용하여 여기에서 설명하는 것을 얼마나 쉽게 수행 할 수 있는지 생각해보십시오. 배경에서 서버에 대한 아약스 호출에서 방문자의 동작을 기반으로 div 태그를 표시하거나 숨 깁니다. 작성할 코드의 양은 초소형입니다.

좋은 자바 스크립트 라이브러리가 많이 있는데, 이것은 제가 좋아하는 것 중 하나 일뿐입니다. 실제로 시작하기가 쉽습니다. 먼저 태그가있는 현재 jQuery 파일에 대한 참조를 포함시킨 다음 페이지와 상호 작용할 몇 줄의 코드를 작성하십시오.