[UserControl] Plusieurs fois le meme ID dans le code HTML
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):
Code:
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> |
dans mon UserControl Menu je charge dynamiquement les UserControl MenuItem
C# (Menu.ascx.cs) :
Code:
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);
} |
et donc mon code C# de MenuItem j'associe l'image au composant Image
C# (MenuItem.ascx.cs) :
Code:
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 + "');"); |
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 ??
merci d'avance pour votre aide !