cs_aloisio11
Messages postés126Date d'inscriptionlundi 18 septembre 2006StatutMembreDernière intervention 7 décembre 2009
-
4 juin 2007 à 12:30
cs_Nurgle
Messages postés1642Date d'inscriptionsamedi 6 novembre 2004StatutMembreDernière intervention28 avril 2011
-
5 juin 2007 à 10:11
Bonjour a tous j'ai une page aspx dans laquelle j'ai un updatePanel qui comprend toute la page et 3 updatePanel a l'interieur de celui ci.
Quand je charge la premiere fois ma page, mes infos sont bien affichées, mais je clique sur un bouton (qui doit afficher d'autres infos), j'ai une erreur qui s'affiche en Msgbox avec ce texte : "La référence d'objet n'est pas définie à un instance d'un objet.".
J'arrive pas a cerner l'erreur mais je suppose qu'elle provient d'un updatepanel.
Est ce possible et si oui quelle est cette erreur ?
cs_Nurgle
Messages postés1642Date d'inscriptionsamedi 6 novembre 2004StatutMembreDernière intervention28 avril 20114 5 juin 2007 à 09:21
Ah, on se rapproche... Donc si j'ai bien compris, ta Property "Reference" est remplie lors du DataBinding du Repeater.
Vérifie qu'elle est bien remplie AVANT le Page_Load (sinon, logiquement, le Page_Load de l'UC trouvera un vLigne vide...)
Et que fais-tu pour charger d'autres données ? Tu re-rempli ton Repeater ? Si oui, tu dois sans doute le faire dans le Click d'un bouton ou un truc du genre, et qui se produit donc après le Page_Load, d'où la NullReferenceException...
Dans ce cas, remplie tout ce qui dépend de vLigne plus tard dans le chargement de l'UC, par exemple dans le Page_PreRender...
Dans mon usercontrol je récupere cette ligne avec mon set property dans une variable globale DataRowView.
J'utilise la ligne ensuite ainsi :vCode = vLigne(
"REFERENCE")vPoid = vLigne(
"POID")
...
Lors du 1er chargement de ma page les articles sont bien affichés mais si je charge d'autre données l'erreur aparait sur la 1er vLigne("REFERENCE").
cs_Nurgle
Messages postés1642Date d'inscriptionsamedi 6 novembre 2004StatutMembreDernière intervention28 avril 20114 5 juin 2007 à 08:57
Salut,
Tu obtiens une NullReferenceException, qui indique que ton vLigne est égal à Nothing...
vLigne est bien recréé à chaque PostBack ? (Il ne doit pas être dans un If Not Page.IsPostBack par exemple)
A quel moment dans le cycle de chargement de la page est-il créé ? Vérifie que cette méthode est bien appellée à chaque PostBack...
Si non tu peux tester si il existe avant de l'utiliser :
If vLigne Is Nothing Then
vLigne = ' ici tu rerempli ta variable avec ce qu'il faut
End If
vCode = vLigne("...")
' ...
Mais ça contourne juste le problème, le mieux serai de comprendre pourquoi il recharge pas vLigne...
cs_aloisio11
Messages postés126Date d'inscriptionlundi 18 septembre 2006StatutMembreDernière intervention 7 décembre 2009 5 juin 2007 à 10:01
Très fort Nurgle ... mille mercis !!!
Il fallait mettre le code du UserControl Load dans le PreRender, merci encore.
Quand au update panel c'est juste il ne faut pas les imbriqués, mais je debute avec ce genre de controle alors je connais pas du tout comment cela fonction optimalement.
Tu n'aurai pas un bon tuto sur les UpdtePanel ?
cs_Nurgle
Messages postés1642Date d'inscriptionsamedi 6 novembre 2004StatutMembreDernière intervention28 avril 20114 5 juin 2007 à 10:11
De rien
Pour le tutorial sur les UpdatePanel, il y a bien ce post de cyril mais c'est un peu court, mais sinon je connait pas encore de bonne ressource en français là dessus...