2012-05-07 2 views
0

i ai le contrôle de source de données et contrôle de listecomment je peux utiliser Eval() en tant que paramètre dans le fichier aspx avec ListView

la source de données ont

« StudentID, StudentName, Anniversaire, Gander (M, F) , Course_ID "

je veux afficher dans mon listView

(" âge -> pas BirthDay, Gander (mâle , Femelle) -> pas f ou » m, et courseName -> pas courseID :))

i écrire quelques méthodes pour faire ce travail comme celui-ci

public string CalculateAge(DateTime birthDate) 
     { 
      // cache the current time 
      DateTime now = DateTime.Today; // today is fine, don't need the timestamp from now 
      // get the difference in years 
      int years = now.Year - birthDate.Year; 
      // subtract another year if we're before the 
      // birth day in the current year 
      if (now.Month < birthDate.Month || (now.Month == birthDate.Month && now.Day < birthDate.Day)) 
       --years; 

      return years.ToString(CultureInfo.InvariantCulture); 
     } 

mais comment je peux utiliser cette méthodes dans mon fichier aspx avec Eval() dans mon ListView? Note: J'ai écrit cette méthode dans un autre espace de noms

Répondre

2

Vous ne devriez pas avoir de problème pour utiliser ceci dans un ListView. Quelque chose comme cela devrait fonctionner:

<%# CalculateAge((DateTime)Eval("SomeDate")) %> 

Si cette fonction est contenu dans une bibliothèque qui implémente IDisposable, vous pouvez créer une fonction de transmission dans le code-behind:

public string CalculateAge(DateTime birthDate) 
{ 
    using (var obj = new MyObject()) 
    { 
     return obj.CalculateAge(birthDate); 
    } 
} 
+0

merci James mais qu'en si ma méthode est dans un espace de noms différent – tito11

+0

Est-ce que cet espace de noms est accessible à la page? Pouvez-vous y accéder à partir de code-behind? –

+0

oui je peux y accéder de code-behing ,, je l'essaye maintenant – tito11

Questions connexes