数据库取值形成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>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值