Bonjour tout le monde,

j'utilise une application Asp.net sous VB.

dans ma page j'ai un tabcontainer :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
 <asp:TabContainer Width="100%"  Height="400px" runat="server" ID="TabContainerSourcesRegles"  
                        ActiveTabIndex="0" AutoPostBack="True" >
 
                        </asp:TabContainer>
j'y ajoute des onglet d'une façon dynamique:
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
Private Sub createTabsForRules(ByVal sender As Object, ByVal e As EventArgs)
 
        'Récupération du code source de la règle séléctionnée.
        Dim Id As Long
        Id = Long.Parse(versionsDropDownList.SelectedValue)
        Dim dynamicControl As DynamicControl
        Dim key As New DynamicControlKey(Id)
        Dim listLibelleFonctionnalite As New List(Of String)
        Dim listLibelleDeclenchement As New List(Of String)
        Dim codeSource As String
        dynamicControl = dcService.FindByPrimaryKey(key, contexte)
        codeSource = dynamicControl.SourceCode.SourceCode
        commentaireTextBox.Text = dynamicControl.VersionComment
 
        'Récupération de la règle séléctionnée dans la liste
        regleSelected = Ltb_Regles.SelectedItem.Text.ToString()
        codeRegleText.Text = regleSelected
        If Not Session("Tab") Is DBNull.Value Then
 
            'Création des onglets de toutes les règles déja séléctionnées.
            For Each tabElement As String In Session("Tab").ToString().Split(",")
                If Not ("".Equals(tabElement)) Then 'On crée pas le premier onglet avec le vide.
                    createTextBoxForOngletForSelectedRegle(tabElement, codeSource)
                End If
            Next
 
            'Ajour du titre de l'onglet de la règle séléctionnée dans la session pour ne pas le rajouter.
            If Not Session("Tab").ToString().Contains(regleSelected) Then
                If Session("Tab").ToString().Equals("") Then
                    Session("Tab") = regleSelected
                Else
                    Session("Tab") = Session("Tab") + "," + regleSelected
                End If
                'Création de l'onglet de la règle séléctionnée
                createTextBoxForOngletForSelectedRegle(regleSelected, codeSource)
            End If
 
        End If
 
        'Activation de l'onlget de la règle séléctionnée
        Dim indexToActivate As Integer
        For Each tabOnglet As TabPanel In TabContainerSourcesRegles.Tabs
            If regleSelected.Equals(tabOnglet.HeaderText) Then
                indexToActivate = tabOnglet.TabIndex
                Exit For
            End If
        Next
 
        TabContainerSourcesRegles.ActiveTabIndex = indexToActivate - 1
 
    End Sub
jusque là tout marche bien et les onglets s'ajoute correctement.

Je souhaite récupérer l'onglet sur lequel j'ai cliqué, exemple j'ai trois onglet, onglet1,onglet2, onglet3, je suis entrain de consulter l'onglet3 par exemple et je clique sur l'onglet1, je veux récupérer sons headerText (onglet1).

J'ai associé l'événement suivant:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
 Protected Sub TabContainerSourcesRegles_ActiveTabChanged(ByVal sender As Object, ByVal e As EventArgs) Handles TabContainerSourcesRegles.ActiveTabChanged
        'Récupération de l'onglet sélectionné et activation de cet onglet.
        'Dim tab As New TabPanel
        'Dim tab As String TabContainerSourcesRegles.TabIndex
        'TAB = TabContainerSourcesRegles.
        Dim nbr As Integer
 
        nbr = TabContainerSourcesRegles.Tabs.Count
    End Sub
Mais j'arrive plus à récupérer l'onglet sur lequel j'ai cliqué, je récupère seulement l'onglet actif.

Avez-vous une idée pour ça?

Merci d'avance.