Salut à tous,
Pour mon application Web, j'utilise un asp menu. Je souhaite avoir un menu dynamique à deux dimensions.
Problème, je n'arrive à ajouter qu'un seul niveau d'items...
J'ai actuellement ce code:
Qui génère cette interface:
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
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52 //Generate navigation menu #region MenuItem m_home = new MenuItem(); m_home.NavigateUrl = "~/Default.aspx"; m_home.Text = "Home"; NavigationMenu.Items.Add(m_home); //Project menu items MenuItem m_proj = new MenuItem(); m_proj.NavigateUrl = "~/Project.aspx"; m_proj.Text = "Project"; NavigationMenu.Items.Add(m_proj); //Data menu items MenuItem menu_data = new MenuItem(); menu_data.Text = "Data"; NavigationMenu.Items.Add(menu_data); //Sub menu items MenuItem m_data = new MenuItem(); m_data.NavigateUrl = "~/Data.aspx"; m_data.Text = "Database admin"; NavigationMenu.Items.Add(m_data); MenuItem m_sql = new MenuItem(); m_sql.NavigateUrl = "~/Sql.aspx"; m_sql.Text = "Execute SQL"; NavigationMenu.Items.Add(m_sql); //Config menu items using(var d = new _Default()) { if (Session["user"] != null && d.user_right(Session["user"].ToString(), "dbadministrator") == true) { MenuItem menu_config = new MenuItem(); menu_config.Text = "Configuration"; NavigationMenu.Items.Add(menu_config); //Sub menu items MenuItem m_user_admin = new MenuItem(); m_user_admin.NavigateUrl = "~/User.aspx"; m_user_admin.Text = "User admin"; NavigationMenu.Items.Add(m_user_admin); MenuItem m_config = new MenuItem(); m_config.NavigateUrl = "~/Config.aspx"; m_config.Text = "Server Config"; NavigationMenu.Items.Add(m_config); } } #endregion
Et je souhaiterais avoir un menu de ce type (la liste verticale d'items apparait au passage ou au click sur l'item correspondant de la liste horizontale):
J'ai beau chrcher dans tous les sens, je ne trouve pas comment gérer ce type de menu en ASP...
Une âme charitable pour m'aider?
Merci d'avance.
Partager