数据库取值形成xml实现tree
Create three .aspx files
TreeViewDataSet.aspx
<%@ import Namespace="Microsoft.Web.UI.WebControls" %>
<%@ Register TagPrefix="IE" Namespace="Microsoft.Web.UI.WebControls" Assembly="Microsoft.Web.UI.WebControls" %>
<html>
<head>
<title>
TreeViewDataSet.aspx
</title>
</head>
<body>
<form runat="Server">
<IE:TreeView
AutoPostBack="True"
TreeNodeSrc="Categories.aspx"
Runat="Server"/>
</form>
</body>
</html>
Categories.aspx
<%@ Import Namespace="System.Data" %>
<%@ Import Namespace="System.Data.SqlClient" %>
<Script runat="Server">
sub page_load
Dim mycon as SqlConnection
Dim cmdCategories As SqlCommand
Dim dsCategories As DataSet
Dim strQuery As String
mycon=New Sqlconnection("Server=localhost;UID=sa;PWD=secret;Database=Northwind")
strQuery="select categoryname as Text,'products.aspx?catid='
+LTRIM(STR(CategoryID))" & _
"As TreeNodeSrc from Categories As TreeNode for xml auto, XMLDATA"
cmdCategories=new SqlCommand(strQuery,mycon)
dsCategories=New DataSet
dsCategories.ReadXML(cmdCategories.ExecuteXmlReader(),XmlReadMode.Fragment)
dsCategories.DataSetName="TREENODES"
dsCategories.WriteXml(Response.OutputStream)
end sub
</script>
Products.aspx
<%@ Import Namespace="System.Data" %>
<%@ Import Namespace="System.Data.SqlClient" %>
<Script runat="Server">
sub page_load
Dim mycon as SqlConnection
Dim cmdProducts As SqlCommand
Dim dsProducts As DataSet
Dim strQuery As String
mycon=New Sqlconnection("Server=localhost;UID=sa;PWD=secret;Database=Northwind")
strQuery="select Productname as Text from products As TreeNode" & _
" where CategoryID=@categoryID for xml auto, XMLDATA "
cmdproducts=new SqlCommand(strQuery,mycon)
cmdproducts.Parameters.Add(New SqlParameter("@categoryID",Request.QueryString("catID")))
mycon.open()
dsproducts=New DataSet
dsproducts.ReadXML(cmdproducts.ExecuteXmlReader(),XmlReadMode.Fragment)
dsproducts.DataSetName="TREENODES"
dsproducts.WriteXml(Response.OutputStream)
mycon.close()
end sub
</script>