Hello,

J'ai un souci avec mon siteMap source de mon treeview.

Je crée un string XML contenant mon siteMap crée sur base d'une DB sqlserver.

Tout fonctionne bien, gros problème, c'est qu'au lieu d'avoir en titre de menu le title de mon sitemap et en lien, l'url j'ai le mot siteMapNode qui s'affiche partout.

Pourriez-vous m'aider merci?


voici mon code

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
 
    Private Function buildXMLMenu(ByRef oDataSet As DataSet) As String
        'Dim parentNode As TreeNode
        ' Dim childNode As TreeNode
        Dim sortSubMenu As String
        sortSubMenu = "LevelOrder ASC"
        Dim selectSubMenu As String
 
        Dim navigateString As StringBuilder = New StringBuilder()
        ' En-tete du fichier Site Map File
        navigateString.Append("<?xml version=""1.0"" encoding=""utf-8"" ?>")
        navigateString.Append("<siteMap xmlns=""http://schemas.microsoft.com/AspNet/SiteMap-File-1.0"">")
 
        For Each parentRows As DataRow In oDataSet.Tables("Menu").Select("MenuLevel = 0", sortSubMenu)
            selectSubMenu = "UpperLevel = " & parentRows.Item("ID").ToString
 
            ' création du sous-menu si existant
            If oDataSet.Tables("Menu").Select(selectSubMenu, sortSubMenu).Length > 0 Then
                ' menu parent avec menu enfant
                navigateString.Append("<siteMapNode title=""" & parentRows.Item("libla") & """>")
                For Each childRows As DataRow In oDataSet.Tables("Menu").Select(selectSubMenu, sortSubMenu)
                    navigateString.Append("<siteMapNode url=""" & childRows.Item("MenuAction") & """ title=""" & childRows.Item("libla") & """ />")
                Next
                navigateString.Append("</siteMapNode>")
            Else
                ' Menu parent sans menu enfant
                navigateString.Append("<siteMapNode url=""" & parentRows.Item("MenuAction") & """ title=""" & parentRows.Item("libla") & """ />")
            End If
        Next
        navigateString.Append("</siteMap>")
        buildXMLMenu = navigateString.ToString
    End Function
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
 
    Private Sub buildMenu()
        ' fonction pour attribuer au menu les informations récupérée par l'objet createMenu sous forme XML
        Dim menuDataSource As XmlDataSource = New XmlDataSource()
        menuDataSource.ID = "MainMenu"
        menuDataSource.Data = Session("siteMapMenu")
        menuDataSource.DataBind()
 
        mnuPerso.DataSource = menuDataSource
        mnuPerso.DataBind()
 
    End Sub