2012-03-29 2 views
0

Ajax를 사용하여 RadListView의 데이터 소스를 바인드/리바인할 수 있습니까? 제가하려는 것은 포럼의 유형을 만드는 것입니다. 하나의 ListView는 다른 listview에 중첩되어 있습니다. 외부리스트 뷰는 페이지로드시로드되고 모든 제목 헤더를 표시하며 헤더가 클릭 될 때까지 innerlist보기가 바인드되지 않습니다. 그런 다음 jQuery를 사용하여 헤더 아래 세부 정보를 열고 그 ListView를 ajax를 사용하여로드합니다. 이게 가능하고 어떻게? 아니면 내가이 효과를 달성하는 데 또 다른 방법이 있습니까? 감사.ajax를 사용하여 listview 데이터 소스를 바인드/리 바인드 하시겠습니까?

답변

0

UpdatePanel에 외부 목록을 래핑하고 OnClick 처리기를 제목 줄에 지정할 수 있습니다. 제목 줄을 클릭하면 비동기 포스트 백이 발생하고 click 이벤트 핸들러에서 내부 목록을 바인딩 할 수 있습니다.

코드 숨김으로 가려면 어느 정도 시간이 필요합니다. 당신이 jQuery를 사용하려는 경우, 당신은 헤더에 클릭 이벤트를 첨부 할 수 있습니다와 같이, 핸들러에서 __doPostBack 호출이 접근 방식으로 갈 경우

$("#<%=ListView1.ClientID%> .header").click(function(){ 
    __doPostBack($(this).attr("id"), ""); 
}); 

, 당신은 단지에있는 RaisePostBackEvent를 재정의해야합니다 코드 숨김을 사용하고 작은 논리를 사용하여 내부 목록으로 드릴 다운합니다.

0

쉬운 방법은 PostBack을 신경 쓰지 않는다면 중첩 된 ListView를 연결하고 ItemCommand 이벤트에 대한 헤더 훅을 사용하고 필요한 RadListView를 바인드하고 다른 것들을 감추는 것입니다. 페이징이나 정렬을 수행하지 않을 경우 ListView를 현재 선택한 항목 만 표시하므로 크기를 줄이려면이 컨트롤에서 ViewState를 사용하지 않도록 설정할 수 있습니다. 빠른 게시에 대한

, 당신은 (RadListView

http://demos.telerik.com/aspnet-ajax/listview/examples/client/programmaticdatabinding/defaultcs.aspx

당신은 당신이 외부 DIV뿐만 아니라 데이터 바인딩 할 수있는 ListView의 클라이언트 ID를 보낼 수있는 기능을 생성 할

에 대한 클라이언트 측 데이터 바인딩에서 loook 할 수 있습니다 경우 하나 필요) 헤더를 클릭하면 보여줍니다.

이 함수는 ListView를 찾고 외부 컨테이너를 표시하고 데이터 바인딩합니다. 해당 기능을 원하면 현재 표시된 div를 접을 수있는 코드를 포함 할 수도 있습니다. 이전 div의 ID를 저장하는 전역 변수가 쉽게 작동 할 수 있습니다.

관련 문제