Calcul de l'âge dans un datalist

Résolu
Alain37Mtl Messages postés 2 Date d'inscription lundi 27 mars 2006 Statut Membre Dernière intervention 28 mars 2006 - 27 mars 2006 à 21:13
tikrimi Messages postés 192 Date d'inscription dimanche 5 janvier 2003 Statut Membre Dernière intervention 9 mars 2007 - 27 mars 2006 à 22:28
Mon application web affiche la liste des membres et je voudrais afficher l'âge de chacun au lieu de leur date de naissance.



Protected
Sub DataList1_OnDataBinding(
ByVal sender
As
Object,
ByVal e
As System.EventArgs)

Dim birthdateLabel
As Label =
CType(DataList1.FindControl(
"birthdateLabel"), Label)

Dim ageLabel
As Label =
CType(DataList1.FindControl(
"ageLabel"), Label)

Dim birthdate
As
Date =
CType(birthdateLabel.Text,
Date)
ageLabel.Text =
CType(DateDiff(DateInterval.Year, Now, birthdate),
String)

End
Sub

...



ID="ObjectDataSource1"
runat="server"
SelectMethod="Getmembers" TypeName="MemberDetails">
<SelectParameters>

</SelectParameters>





'
/>



'
/>


<p>

'
Visible=false
/>
Age:

ans

</p>
<p>

'
/>

'
/>

'
/>
</p>
<p>

'
/>

'
/>
</p>





Lorsque je l'exécute, j'ai l'erreur suivante;

Détails de l'exception: System.NullReferenceException: La référence d'objet n'est pas définie à une instance d'un objet.

Erreur source:


Ligne 52 :         Dim birthdateLabel As Label  = CType(DataList1.FindControl("birthdateLabel"), Label)
Ligne 53 :         Dim ageLabel As Label = CType(DataList1.FindControl("ageLabel"), Label)
Ligne 54 :         Dim birthdate As Date = CType(birthdateLabel.Text, Date)
Ligne 55 :         ageLabel.Text = CType(DateDiff(DateInterval.Year, Now, birthdate), String)
Ligne 56 :     End Sub



Merci.

1 réponse

tikrimi Messages postés 192 Date d'inscription dimanche 5 janvier 2003 Statut Membre Dernière intervention 9 mars 2007 1
27 mars 2006 à 22:28
Bonjour,

Avant de caster ton birthdateLabel.Text
en Date, vérifie avant si ton birthdateLabel ne vaut vaut pas nothing (la question sera alors pourquoi ton birthdateLabel vaut nothing).
Ensuite, avant de faire ton datediff, vérifie que ta variable birthdate est bien une date.

D'une manière générale, l'exception levée est ici très explicite : tu essayes d'utiliser un objet qui n'est pas instancié... et dans ta ligne il n'y en a pas 50 des objets ;-)

TiK - MCAD.NET
http://www.objectif-services.com
http://www.ultimecms.com
3
Rejoignez-nous