Problème de récupération d'onglet sélectionné
Bonjour tout le monde,
j'utilise une application Asp.net sous VB.
dans ma page j'ai un tabcontainer :
Code:
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:
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:
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.