Bonjour tout le monde,

Voilà mon problème :
En code behind, j'ai une boucle qui me crée des instances d'un User Control et les insère dans ma page. Une fois un userControl inséré, j'appelle sa méthode afficher(). Cette méthode modifie certains controls du UserControl.
C'est lors de la modification d'un control contenu dans le UserControl qu'on me dit que la référence est null.
Quand je fais un MyUserControl.HasControls() ça me renvoie "false"!

Voilà à quoi ressemble le code behind de ma page:

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
 
 
For Each row As DataRow In ds.Tables(0).Rows
 
                If Not dernierClient = row("ClientID") Then
                    i = 1
                End If
 
                aOnglet = True
                Dim content As New Control()
                Dim onglet As New AjaxControlToolkit.TabPanel()
                onglet.ID = row("ClientID") & i
 
'voilà mon instanciation du user control
                Dim myControl As New UC_Lot()
                uc_Lot.ID = "uc_Lot"
 
                onglet.HeaderText = row("ClientID") & " : Lot " & i
                content.Controls.Add(uc_Lot)
                onglet.Controls.Add(content)
 
'tabLots est de type AjaxControlToolKit.Tabcontainer
                tabLots.Tabs.Add(onglet)
 
'appel de la méthode Afficher de l'UC
myControl.Afficher(...)
Et maintenant un extrait du code behind de mon UC
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
 
 
Private Sub Afficher(ByVal lTMALotID As Long)
 
            Dim oLot As New CLot
            Dim ds As DataSet
 
            ds = oLot.RechercherLesTacheduLot(lTMALotID)
 
'dgLot est un datagrid déclaré en dur dans mon UC
With dgLot
 
'la ligne qui plante parce que dgLot est une reference null
                .DataSource = ds.Tables(0).DefaultView
Si quelqu'un peut m'éclairer ce serait génial

Merci d'avance