2013-05-14 2 views
0

이 작업을 수행 할 방법이 없을 수도 있지만, 필자는 묻습니다. 나는 asp.net에 비교적 익숙하다. 약 1 주일 간 그걸 가지고 놀았다. 지금 당장 가지고있는 것은 웹 서비스를 호출하고 완료 될 때까지 폴링 한 다음 (진행 상황을 UpdatePanel에 표시) 진도 텍스트를 숨기고 그 대신 결과를 표시합니다 (일부 메타 데이터가있는 파일의 재귀 목록). TreeView를 만들고 UpdatePanel에 추가합니다. 내가 뭘하고 싶은지 방금 클릭 한 노드에 대한 확장 정보 (얻은 서버 쪽)와 두 번째 UpdatePanel을 업데이 트하려면 TreeView 노드를 클릭하는 것입니다. TreeNode를 클릭하여 codebehind 함수를 호출하는 방법이 표시되지 않지만, 노드의 NavigateUrl을 "javascript : function ([노드의 전체 경로])"로 설정하여 Javascript 코드를 호출 할 수 있습니다.클라이언트 코드에서 서버 측 코드를 호출하여 UpdatePanel을 수정하십시오.

이 시점에서 나는 다소 혼란 스럽습니다. StackOverflow는 JavaScript (WebMethod 또는 이와 동등한 도구를 사용하여)에서 코드 숨김을 다시 호출하는 방법에 대해 올바르게 대답 된 질문으로 가득차 있습니다. 그러나 정적이 아닌 코드를 호출 할 수는 없습니다. 따라서 수정할 수 없었습니다. 페이지 자체 또는 세션 또는 페이지 상태에 액세스 할 수 있습니다. StackOverflow는 UpdatePanel 자체 업데이트 (__doPostBack())를 자바 스크립트에 요청하는 방법에 대한 질문도 있지만, 클릭 한 내용을 서버와 통신 할 방법이 없으면 UpdatePanel은 표시 할 항목을 알 수 없습니다.

따라서 질문에 대한 답변이 있습니다. 자바 스크립트 페이지를 트리거하는 서버 쪽 함수가 매개 변수를 취할 수 있고 부분적인 포스트 백을 수행하는 데 사용할 수있는 영리한 방법이 없습니다. 다른 UpdatePanel?

감사합니다.

+0

이 질문에 비틀 거린 사람 : 아래 답변을 얻을 수 없어서 같은 페이지의 아약스 정보 대신에 문제를 완전히 밟았습니다. 라이트 박스 플러그인을 사용하여 클릭시 표시하고자하는 정보가있는 버블에 * 새 * 페이지를 엽니 다. 그것은 위대한 일을했고 모든 요구 사항을 충족 시켰습니다. – neminem

답변

0

사실 매우 간단합니다. 두 번째 업데이트 패널 (그것은 빈 텍스트를 가질 수 있으므로 보이지 않는)에 LinkButton을두기 만하면됩니다. 자바 스크립트 호출에서는 클라이언트 쪽 .click() 메서드가 사용되며 ASP.NET에서는 서버 쪽 OnClick 이벤트를 처리합니다.

관련 문제