将整个页面代码都拿出来吧,我们好帮你调

解决方案 »

  1.   


    瀛樺偍杩囩▼CREATE PROC sp_ListFile(@Child_node int) As SET NOCOUNT ON --declare var DECLARE @lvl smallint --灞傛鍏崇郴 DECLARE @c_ID int DECLARE @article bit --鏄惁涓烘枃绔犵殑鏍囧織 DECLARE @title varchar(150) --鏍囬 
    --create temporary table CREATE TABLE #stack (Child_node int,Lvl smallint) 
    --create target table CREATE TABLE #FileList 
    (lvl smallint, 
    Child_node_ID int, 
    Article bit, 
    Title varchar(150) ) 
    --initial INSERT INTO #stack VALUES(@Child_node,0) SELECT @Lvl = 0 
    --main loop WHILE @Lvl > -1 BEGIN IF EXISTS(SELECT * FROM #stack WHERE Lvl = @Lvl) BEGIN SELECT @Child_node = Child_node 
    FROM #stack 
    WHERE Lvl = @Lvl SELECT @article = article,@title = title 
    FROM some_table 
    WHERE Child_node = @Child_node INSERT INTO #FileList 
    VALUES(@Lvl,@Child_node, @article,@title) DELETE FROM #stack 
    WHERE Lvl = @Lvl AND Child_node = @Child_node INSERT INTO #stack 
    SELECT Child_node,@Lvl + 1 
    FROM some_table 
    WHERE Parent_node = @Child_node 
    IF @@ROWCOUNT > 0 
    SELECT @Lvl = @Lvl + 1 END ELSE SELECT @Lvl = @Lvl - 1 END DELETE FROM #FileList 
    WHERE Lvl = 0 
    SELECT * FROM #FileList 
    杈撳嚭缁撴灉锛?lvl Child_node Article Title 1 1 0 Program 2 2 0 Visual Basic 3 5 1 ADO Control 2 3 0 Power Builder 2 4 0 C++ Builder 鐪嬩笅鍒椾唬鐮侊細Dim GetRSString
    Dim cnn
    Dim rs
    Dim l_ID
    l_ID = "1" '琛ㄧず鏍硅妭鐐?Set cnn = Server.CreateObject("ADODB.Connection")
    Set rs = Server.CreateObject("ADODB.RecordSet")
    cnn.Open "Provider=SQLOLEDB;.......................鐣?
    rs.Open "sp_listfile " & l_ID,cnnGetRSString = rs.GetString(2,,"?quot;","~~") 'adClipString
    rs.Close
    Set rs = Nothing
    cnn.Close
    Set cnn = NothingResponse.Write "<FORM id='rs' name='rs'>" &_
    "<INPUT type='hidden' id='rsCache' name='rsCache' value='" & GetRSString & "'></FORM>" &_
    "<SCRIPT language=JavaScript src='Listfile.js'></SCRIPT>" &_
    "<Script language=Javascript>LoadRecords(" + l_ID + ");</Script>"鍦ㄤ笂闈㈢殑浠g爜涓紝鐢?GetString 鐨勬柟娉曞緱鍒颁簡浠??quot;鍜寏~ 鍒嗛殧鐨勫瓧绗︿覆锛屽苟鐢ㄩ殣钘忚〃鍗曡繘琛屽瓨鍌ㄣ€?Listfile.js 閲岀殑鑴氭湰瀹炵幇浜嗘垜浠兂瑕佸緱鍔熻兘锛孡oadRecords 鏄叾涓殑涓€涓嚱鏁般€?2. Listfile.js 涓殑鑴氭湰杩欐槸鍏ㄩ儴浠g爜锛?function ToggleDisplay(oButton, oItems)
    {
    if ((oItems.style.display == "") || (oItems.style.display == "none"))
    {
    oItems.style.display = "block";
    oButton.src = book_open.src;

    else
    {
    oItems.style.display = "none";
    oButton.src = book_close.src;
    }
    }function LoadRecords(l_ID) 
    {
    var strRecords=document.all("rsCache").value;
    var arrRecords=strRecords.split("~~");
    var arrFields;
    var Current_level;
    var Current_ID;
    var strTemp;
    var strList;
    var Prior_ID;
    var Prior_level=-1;
    var i;
    var j;
    Prior_ID=l_ID;
    strList = "<TABLE><TR><TD height=300 valign=top class=Newscontents><!--" + l_ID + "-->";
    for (i=0;i<arrRecords.length;i++) 
    {
    arrFields=arrRecords[i].split("?quot;");
    Current_level = arrFields[0];
    Current_ID = arrFields[1];
    if (arrFields[2] == 0)
    {
    strTemp = "<DIV><IMG SRC='images/plus.gif' ID='i_" + Current_ID + 
    "' onclick='ToggleDisplay(i_" + Current_ID + ",f_" + 
    Current_ID + "_d);' width=31 height=15 style='position:relative;left:" + 
    (Current_level*17) + ";top:3;cursor:hand;'> <A ID='f_" + Current_ID + 
    "' style='position:relative;left:" + (Current_level*17) + 
    ";cursor:hand;' onclick='ToggleDisplay(i_" + Current_ID + ",f_" + 
    Current_ID + "_d);'>" + arrFields[3] + "</A></DIV><DIV ID='f_" + 
    Current_ID + "_d' style='display: none;'><!--" + Current_ID + "--></DIV>";
    if (Current_level > Prior_level) 
    {
    strTemp += "<!--LEVEL" + Current_level + "-->";
    strList = strList.replace("<!--" + Prior_ID + "-->",strTemp);
    }
    else 
    {
    if (Current_level == Prior_level) 
    {
    strTemp += "<!--LEVEL" + Current_level + "-->";
    strList = strList.replace("<!--LEVEL" + Current_level + "-->",strTemp );
    }
    else
    {
    for (j=parseInt(Current_level)+1;j<=Prior_level;j++) 
    {
    strList = strList.replace("<!--LEVEL" + i + "-->","")

    strTemp += "<!--LEVEL" + Current_level + "-->";
    strList = strList.replace("<!--LEVEL" + Current_level + "-->",strTemp );
    }
    }
    }
    else 
    {
    strTemp = "<DIV><IMG SRC='images/message.gif' width=11 height=14 style='position:relative;left:" + 
    (Current_level*17+20) + ";top:2;cursor:hand;'> ";
    strTemp += "<A ID='f_" + Current_ID + "' HREF='page.asp?article=" + arrFields[3] + 
    "' TARGET=MAIN style='position:relative;left:" + (Current_level*17 +16) + 
    ";cursor:hand;'>" + arrFields[3] + "</A></DIV><!--LEVEL" + Current_level + "-->";
    if (Current_level > Prior_level)
    strList = strList.replace("<!--" + Prior_ID + "-->",strTemp);
    else
    strList = strList.replace("<!--LEVEL" + Current_level + "-->",strTemp);
    }Prior_ID = Current_ID;
    Prior_level = Current_level;
    }
    strList += "</TD></TR><TR><TD height=10><img style='display:none;' " +
    "src='images/plus.gif' id=book_close><img style='display:none;' " +
    "src='images/minus.gif' id=book_open> </TD></TR></TABLE>";
    document.write(strList);
    }