문제 설명: 프레임세트의 TreeView에는 노드가 4개만 있습니다. 하나를 연 후 다른 세 개의 노드를 닫습니다.
처음에는 TreeView1_Expand에 작성했는데, autopostback을 true로 설정해야 합니다. 인터넷에서 정보를 찾아보니 아래와 같습니다.
========================
1. "확장 시 제출하지 않고, 선택한 노드 변경 시에만 제출"
2. "노드를 확장한 후 다른 모든 확장된 노드를 자동으로 철회하려면 TreeView를 활성화하십시오. 즉, 동시에 확장된 노드는 하나만 있습니다."
3. "깜박임 없는 TreeView 확장 솔루션"
4. "TreeView 특별토론"
5. "TreeView JavaScript 제어방식에 관한 연구"
========================
위의 자바스크립트 스크립트가 잘 작성되어 있는데 오랫동안 시도해 보면 항상 오류가 발생합니다.
그래서 제가 직접 하나 썼습니다.
<스크립트 언어="자바스크립트">
함수 initTree()
{
var tree = document.all["TreeView1"];
tree.attachEvent("onexpand", SelectedIndexChange); //이벤트 추가
}
함수 SelectedIndexChange()
{
var temp = this.TreeView1.clickedNodeIndex;
var 노드 = 새로운 배열();
노드 = this.TreeView1.getChildren();
for(i=0;i<nodes.length;i++)
{
if(i!=임시)
{
만약(i<10)
nodeIndex = "0"+i;//4개의 노드만 사용했습니다. 10개 이상의 노드로 시도해 보세요.
this.TreeView1.getTreeNode(nodeIndex).setAttribute('expanded','false');
}
}
}
</script>
마지막으로 본문에 하나 써주세요
<body onload="initTree();">
이제 사용할 준비가 되었습니다.
물론 "TreeView 포럼"처럼 page_load에 javascript를 작성할 수도 있지만 이는 매우 번거롭고 오류가 발생하기 쉽습니다.