La référence d'objet n'est pas définie à une instance d'un objet

adeath Messages postés 23 Date d'inscription vendredi 19 septembre 2003 Statut Membre Dernière intervention 9 août 2006 - 8 mars 2004 à 11:47
jesusonline Messages postés 6814 Date d'inscription dimanche 15 décembre 2002 Statut Membre Dernière intervention 13 octobre 2010 - 10 mars 2004 à 16:18
J'ai une liste box contenant les familles.
En cliquant sur un item de ce dernier voila le code qui se lance:

Public Sub lst_famille_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs)

Dim sel As String = lst_famille.SelectedItem.Value()
Dim reqFamDesig As String = "SELECT * FROM Famille WHERE famille='" & sel & "'"

'Le reste de mon code

end sub

Lors du débogage, l'appli bloque à la ligne rouge.
Erreur = La référence d'objet n'est pas définie à une instance d'un objet

Si quelqu'un voit où est le problème qu'il me réponde SVP!
Merci d'avance.

11 réponses

jesusonline Messages postés 6814 Date d'inscription dimanche 15 décembre 2002 Statut Membre Dernière intervention 13 octobre 2010 29
8 mars 2004 à 18:41
Quand il y a ce genre d'erreur cela indique generalement que tu n'as pas fait lst_famille = new listbox, ceci implique que tu travailles en code behing ? mais si c'est le cas je comprends pas pourkoi tu n'as pas un handle aprés ta sub ???

La je vois pas trop pourkoi ca coince, tu pourrais me donner le bout de ton code qui declare ton listbox dans ton html et me donner aussi la declaration de ton listbox si tu travailles en code behind

Sinon essaye
Dim sel As String = lst_famille.SelectedValue()

@+

Cyril (Alias Jesusonline)
0
adeath Messages postés 23 Date d'inscription vendredi 19 septembre 2003 Statut Membre Dernière intervention 9 août 2006
9 mars 2004 à 10:24
Merci de m'avoir répondu!

voici le code html du listbox:

Quant a la déclaration du listbox, j'en ai pas!

Le code behind est-il plus propre?
Si oui que dois-je modifier?

p.s.: je débute en asp .net et je doit avouer que je suis un peu dérouté!
0
adeath Messages postés 23 Date d'inscription vendredi 19 septembre 2003 Statut Membre Dernière intervention 9 août 2006
9 mars 2004 à 16:56
ah si excuse moi, dans mon code behind lst_famille est déclaré comme ca:

Protected WithEvents lst_famille As System.Web.UI.WebControls.ListBox

et j'ai bien un handles après ma sub. Javais juste oublié de la mettre :-)
0
jesusonline Messages postés 6814 Date d'inscription dimanche 15 décembre 2002 Statut Membre Dernière intervention 13 octobre 2010 29
9 mars 2004 à 18:29
Si tu as un handles apres ta sub tu n'as pas besoin de : OnSelectedIndexChanged ="lst_famille_SelectedIndexChanged" si ca marche toujours pas essaye d'enlever autopsotback=true, sinon dis le moi je ferais le test en local

@+

Cyril (Alias Jesusonline)
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
adeath Messages postés 23 Date d'inscription vendredi 19 septembre 2003 Statut Membre Dernière intervention 9 août 2006
10 mars 2004 à 09:24
sans le OnSelectedIndexChanged ="lst_famille_SelectedIndexChanged" dans le code HTML ça ne marche pas, et sans le "autopostback" non plus.

Il n'a pas d'erreur mais lors du click sur lst_famille, la sub ne s'execute pas!
0
adeath Messages postés 23 Date d'inscription vendredi 19 septembre 2003 Statut Membre Dernière intervention 9 août 2006
10 mars 2004 à 10:39
Si ca y est! ca marche sans le OnSelectedIndexChanged ="lst_famille_SelectedIndexChanged" dans le code HTML

Par contre toujours le meme message d'erreur à la meme ligne début:La référence d'objet n'est pas définie à une instance d'un objet
0
jesusonline Messages postés 6814 Date d'inscription dimanche 15 décembre 2002 Statut Membre Dernière intervention 13 octobre 2010 29
10 mars 2004 à 14:38
J'ai testé le code, et en effet j'ai le meme erreur pour y faire face j'ai fait comme ceci :

CType(sender, ListBox).SelectedValue() car sender te renvoie le listbox qui a crée ton evenement

Et il faut que tu mettes la liaison à ton lisbox dans
if not page.ispostback
end if
car sinon il te refait une liason avec tes données, et donc il te dit que tu n'as pas selectionné de valeur

La valeur autopostback= true est la pour forcer le postback de la page qui n'est pas naturel

@+

Cyril (Alias Jesusonline)
0
adeath Messages postés 23 Date d'inscription vendredi 19 septembre 2003 Statut Membre Dernière intervention 9 août 2006
10 mars 2004 à 15:27
dans ma version de .net je n'ai pas la propriété SelectedValue() alors j'utilise

CType(sender, ListBox).SelectedItem.Value()

Mais ca ne marche toujours pas(toujours la meme erreur!)

Par contre je n'ai pas très bien compris ou il faut mettre le
if not page.ispostback
end if

P.S.:Encore merci pour ton aide!
0
jesusonline Messages postés 6814 Date d'inscription dimanche 15 décembre 2002 Statut Membre Dernière intervention 13 octobre 2010 29
10 mars 2004 à 15:39
le if not page.ispostback tu dois le mettre dans le page_load qd tu fais la liaison avec ta listbox c'est à dire quand tu fais listbox.datalist = ....

moi ca marche comme ca essaye peut etre une autre propriété que .value sinon si tu travailles avec VS tu peux mettre des points d'arret pour voir tes variables

@+

Cyril (Alias Jesusonline)
0
adeath Messages postés 23 Date d'inscription vendredi 19 septembre 2003 Statut Membre Dernière intervention 9 août 2006
10 mars 2004 à 15:52
Super ca marche!
En fait il me manquais just le if not page.isPostBack
dans le page_load!

Merci pour ton aide!
0
jesusonline Messages postés 6814 Date d'inscription dimanche 15 décembre 2002 Statut Membre Dernière intervention 13 octobre 2010 29
10 mars 2004 à 16:18
Ok car ca me semblait bizarre que ca ne marche pas maintenant

@+

Cyril (Alias Jesusonline)
0
Rejoignez-nous