程序代码
Public Sub PopulateNodes(ByVal nodes As TreeNodeCollection, Optional ByVal intParentID As Int32 = 0)
 Dim showmenu As New ClassLibrary.Jkdata.JkDataBasic ‘创建一个新的类对象
 Dim dt As New DataTable()
 dt = showmenu.GetProduct_Class ‘获得业务层返回的datatable
 Dim strExpression As String
 strExpression = "[UpID] = " & intParentID
 Dim foundRows() As DataRow
 foundRows = dt.Select(strExpression)
 Dim I As Integer
 Dim PassID As Integer
 For I = 0 To foundRows.GetUpperBound(0)
 Dim tn As New TreeNode()
 tn.Text = foundRows(I).Item("ClassName").ToString()
 tn.Value = foundRows(I).Item("ID").ToString()
 If foundRows(I).Item("UpID") = 0 Then
 tn.NavigateUrl = foundRows(I).Item("Url").ToString‘父分类的页面连接
 Else
 PassID = Convert.ToInt32(foundRows(I).Item("ID"))
 tn.NavigateUrl = foundRows(I).Item("Url") + "?classid=" + PassID.ToString ‘子分类的页面连接含参数传递
 End If
 Dim dr() As DataRow
 dr = dt.Select("[UpID] = " & tn.Value)
 If dr.GetUpperBound(0) > -1 Then
 tn.PopulateOnDemand = True
 End If
 nodes.Add(tn)
 Next
 End Sub
 Protected Sub TreeView1_TreeNodePopulate(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.TreeNodeEventArgs) Handles TreeView1.TreeNodePopulate
 PopulateNodes(e.Node.ChildNodes, e.Node.Value)
 End Sub
 程序代码
 Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
 If Not Page.IsPostBack Then
 PopulateNodes(TreeView1.Nodes, 0)
 End If