如果你想刷新的不是很厉害可以这么做,
在页面上用脚本写:
你先在服务器上将你要把CHECK设为TRUE的找出来,将ID号用一定的规则连成一串,送到页面端!再解开。
然后用个递归将CHECK赋值!
保存时也在页面端操作!结果应字符串的方式送到服务器端,然后保存到数据库中!

解决方案 »

  1.   

    <body onload="Test()"><input type="hidden" id="idAll" runat="server" value=''><input type="button" Class="bsbttn" value="保存" name="cmdTest" Onclick="getCheck()"><script language="javascript">
    <!--
    ////////////////////////////////////////////////////////function Test()
    { //var idStr='18,19,20,36,38,228,300,314';
     var idStr=Form1.idAll.value;
     //alert(idStr);
     if (idStr!='')
    {
     var idArray=new Array();
     var i=0,j=0;  while( i!=-1)
     {
    i=idStr.indexOf(',');
    if(i!=-1)
    idArray[j]=idStr.substr(0,i);
    else
    idArray[j]=idStr.substr(0);
    //alert(idArray[j]);
    idStr=idStr.substr(i+1);
    j=j+1;
      }
     //alert(j); //递归形式
     changeNode(TreeView1,idArray);
    }
    }
    function changeNode(sss,m_array)
    {
    var NodeArray=new Array();NodeArray=sss.getChildren();
    for(var i=0;i<NodeArray.length;i++) {
       cNode=NodeArray[i];   var m_i;
       for(m_i=0;m_i<m_array.length;m_i++)
       { 
         
         if(cNode.getAttribute("ID")==m_array[m_i])
       {
            cNode.setAttribute('Checked',true);
    }
     
        }  if (cNode.getChildren().length>0)
    changeNode(cNode,m_array);
       
     }
    }///////////////////////////////////////////////////////////////////////
    //全局变量,保存选中的nodeid值,如 12,25,36,
    var str_check='';
    //取出checkbox的值
    function getCheck()
    { //递归形式
     getNode(TreeView1);
     //取值保存到input里面,服务器端取值.
     //alert(str_check);
     Form1.idAll.value=str_check;
     Form1.submit();
    }function getNode(m_treeNodes)
    {
    var NodeArray=new Array();NodeArray=m_treeNodes.getChildren();
    for(var i=0;i<NodeArray.length;i++) {
       cNode=NodeArray[i];
        // alert(cNode.getAttribute("Checked"));
         if(cNode.getAttribute("Checked")==true)
       {
       //alert('true');
            str_check=str_check+cNode.getAttribute("ID")+',';
    //alert(str_check);
    }
     
         if (cNode.getChildren().length>0)
    getNode(cNode);
       
     }
    }--> 
    </SCRIPT>----------------------------------------------------------
        Protected WithEvents idAll As System.Web.UI.HtmlControls.HtmlInputHiddenIf Not Page.IsPostBack Then
     idAll.Value=""Else
                ''从客户端取值,提交选中的nodeid值
                Dim m_IDs As String = idAll.Value
                ...
    end if