Reprendre le clientId d'un controle créé en CodeBehind
Bonjour à tous.
Je suis confronté à un souci dont je ne trouve pas la solution.
Je crée des hyperlink avec du CodeBehind mais je dois récupérer un ClientId dans une fonction JavaScript. Sauf que le contrôle n'étant pas déclaré il ne me le trouve pas au bon moment.
Voici comment je crée les HyperLink :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
|
Dim LParam(0) As SqlParameter
LParam(0) = New SqlParameter("MenuId", "2be1310f-a588-4423-a9c1-a1bea45c11cd")
Dim dtMenu As DataTable = RetournerTableP("SELECT PageId, Target, Ordre_Menu FROM CORE_Menu_Composition WHERE MenuId = @MenuId ORDER BY Ordre_Menu", LParam)
For Each dr As DataRow In dtMenu.Rows
Dim hl As New HyperLink
With hl
.Text = dr.Item("Target")
.NavigateUrl = ""
.ToolTip = dr.Item("Target")
.CssClass = "hlMenu"
.Attributes("onmouseover") = "ouverturemenu(this," & dr.Item("Ordre_Menu") & ");"
.Attributes("onmouseout") = "document.getElementById('menu" & dr.Item("Ordre_Menu") & "').style.display = 'none';"
.Attributes("name") = "hlMenu" & dr.Item("Ordre_Menu")
.Width = Unit.Pixel(250)
.ID = "hlMenu" & dr.Item("Ordre_Menu")
End With
divHyperLink.Controls.Add(hl)
Next |
Et voici la fonction javascript :
Code:
1 2 3 4 5 6
|
function retourfondnoir(indexdiv) {
clearTimeout(iTimer);
ouverturemenu(document.getElementById("<%= hlMenu1.ClientID %>"), 1);
document.getElementById("menu" + indexdiv).style.display = "none";
} |
Et donc il me renvoi le message suivant :
Citation:
Le nom 'hlMenu1' n'est pas déclaré.
Je ne sais pas comment faire pour lui faire parvenir le bon ID au bon moment.
Merci pour votre aide.