Bonjour à tous,
habitué des winforms et de wpf je dois mettre en place un site intranet
je dois mettre en place un menu qui se charge dynamiquement et ajouter un rollover sur les items de mon menu
J'ai donc placer 2 composants image dans un UserControl MenuItem
ASP.net (MenuItem.ascx):
dans mon UserControl Menu je charge dynamiquement les UserControl MenuItem
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 <asp:Panel ID="Panel1" runat="server" Width="96px" onload="Panel1_Load"> <asp:Image ID="img_normal" runat="server" Height="89px" Width="96px" /> <asp:Image ID="img_over" runat="server" Height="89px" Width="96px" Visible="False" /> </asp:Panel>
C# (Menu.ascx.cs) :
et donc mon code C# de MenuItem j'associe l'image au composant Image
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 panelItem.Controls.Clear(); // - Requete LINQ - var _db = new DataClasses1DataContext(Resource.StrConnection); var _query = from r in _db.rubriques where r.parent_id.Value.Equals(1) select r; var _result = _query.ToList(); // - Construction du Menu - for (int i = 0; i < _result.Count; i++) { var _mi = LoadControl("MenuItem.ascx") as MenuItem; _mi.Rubrique = _result[i]; panelItem.Controls.Add(_mi); }
C# (MenuItem.ascx.cs) :
seulement ce que je ne comprend pas c'est dans le code HTML généré tout mes MenuItem on le même ID alors comment les différencier lors d'un appel en Javascript ??
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 m_imageNormale = "bt_" + m_rubrique.id.ToString() + "_off"; m_imageOver = "bt_" + m_rubrique.id.ToString() + "_on"; if (img_normal == null) img_normal = new Image() { Width = 96, Height = 89 }; img_normal.ImageUrl = "~/Images/" + m_imageNormale + ".png"; if (img_over == null) img_over = new Image() { Width = 96, Height = 89 }; img_over.ImageUrl = "~/Images/" + m_imageOver + ".png"; img_normal.Attributes.Add("onmouseover", "msover('"+ img_normal.ClientID + "', '" + img_over.ImageUrl + "');"); img_over.Attributes.Add("onmouseout", "msout('"+img_over.ClientID + "', '" + img_normal.ImageUrl + "');");
merci d'avance pour votre aide !
Partager