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 : 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
 
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 : Sélectionner tout - Visualiser dans une fenêtre à part
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 :
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.