无限级分类树型菜单

'//----------List表定义 
'Create Table List(ID AUTOINCREMENT,ParentID long,Title Text(50),Url Text(50),Flag bit,ChildNum Long,Target Text(10))
'--------------------------
-->

body,td{font-size:13px;}
a:link { color: #442200; text-decoration: none}
a:visited { color: #444400; text-decoration: none}
a:hover { color: #442200; text-decoration: underline overline; background-color: #FFFF00}
a.link1:link { color: #FF0000; text-decoration:none}
a.link1:visited { color: #FF0000; text-decoration: none}
a.link1:hover { color: #FF0000; text-decoration: none; background-color: #eeeeee}






添加节点


标题:

链接:

目标:


  Default
  Right
  _black
  _Top
  _parent
  _self










<%
'连接数据库
set conn=server.createobject("ADODB.Connection")
conn.open "provider=microsoft.jet.oledb.4.0;data source="&server.mappath("File.mdb")

'//----------操作分支
Action=Request("Action")
Select Case Action
     Case "Add":If Request("ParentID")<>"" Then Add
     Case "Del": Del
     Case "Open":Open
     Case Else:
End Select
'//----------显示列表
           Public List
           Set Rs=Conn.Execute("Select * From [List]")
           If Not Rs.Eof Then
                 List =Rs.GetRows
                 Max=Conn.Execute("Select Count(ParentID) From List Where ParentID=0")(0)
                 Set Rs=Nothing
                 Set Conn=Nothing
                 CheckList 0,Max,""
           Else
                 Set Rs=Nothing
                 Set Conn=Nothing
           End If
           Response.Write "添加根
"
'//------------显示列表函数
FuncTion CheckList(ParentID,Cs,Str1)
     Dim j
     j=0
     For i=0 To Ubound(List,2)
           If List(1,i)=ParentID Then                  
                       Response.write(Str1)
                       If j                       If List(5,i)>0 Then Str2=""&Str2&""
                       If List(5,i)>0 And List(4,i)=False Then Str2=""&Str2&""
                       Response.Write(Str2)

                 Response.Write ""&List(2,i)&" "&VBcrlf
                 '添加节点链接
                 Response.Write "添加"&Vbcrlf
                 Response.Write "删除
"
                 If List(4,i)=True Then
                       If j                 End If
                 j=j+1
           End IF
     Next
End Function

'//-----------添加函数
Function Add
     Parent=CLng(Request("ParentID"))
     Title=Replace(Request("Title"),"'","''")
     Url=Replace(Request("URL"),"'","''")
     Target=Replace(Request("Target"),"'","''")
     If Title="" or Url="" Then 
           Response.Write "至少有一个必须参数没有指定值 返回"
           Response.End
           Exit Function
     End If
     Sql="Insert Into List (ParentID,Title,Url,Target) Values ("&Parent&",'"&Title&"','"&Url&"',' "&Target&"')"
     Conn.Execute(Sql)
     If Parent<>0 Then
           Sql="Update List Set ChildNum=ChildNum+1 Where ID="&Parent
           Conn.Execute(Sql)
     End IF
End Function

'//-----切换节点状态
Function Open
     Sql="Update List Set Flag=Not Flag Where ID="&Clng(Request("Id"))
     Conn.Execute(Sql)
End Function
'//-----------删除节点
Function Del
     On Error Resume Next
     Id=Clng(Request("ID"))
     ParentID=Conn.Execute("Select ParentID From List Where ID="&ID)(0)
     Num=Conn.Execute("Select Count(ID) From List Where parentID="&ID)(0)
     Conn.Execute("Update List Set ChildNum=ChildNum-1+"&Num&" Where ID="&ParentID)
     Conn.Execute("Update List Set ParentID="&ParentID&" Where ID in (Select ID From List Where ParentID="&ID&")")
     Conn.Execute("Delete From List Where ID="&ID) 
     If Err.Number<>0 Then 
           Response.Write "您做的操作无效,可能是该项已经删除!! 返回"
           Response.End
     End If
End Function
%>


 


--------------------------------------------------------------------------------
Create Table List(ID AUTOINCREMENT,ParentID long,Title Text(50),Url Text(50),Flag bit,ChildNum Long,Target Text(10))

直接在查询里执行就可以得到List表!!

下面是对表的说明

Id 自动编号
ParentID 长整形
Title 文本
Url 文本
Flag 布尔
ChildNum 长整形
Target 文本,允许空符串 
 

你可能感兴趣的:(Asp)