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
Partager