[C#] Erreur de cast !!

Erreur de cast !! [C#] - C#/.NET managed - Programmation

Marsh Posté le 19-03-2008 à 15:05:29    

Bonjour,

 

J'ai un gridview connecté à un objectdatasource qui récupère des données et qui les affiche (dont la date d'embauche d'un salarié)
Je veux calculer le nb de jour que le salarié a passé dans le boite.

 

Rien de bien complexe à première vue, sauf que je galère avec les types de données.

 

J'ai dans mon HTML ça :

Code :
  1. <ItemTemplate>  <%# DisplayDaysOnJob(Eval("date_embauche" ))%>
 

Et ça c'est ma fonction en code-behind

 
Code :
  1. protected string DisplayDaysOnJob(DateTime Date)
  2.         {
  3.            
  4.             TimeSpan ts = DateTime.Now.Subtract(Date);
  5.             return ts.Days.ToString("#,##0" );                     
  6.         }
 

Le champ date_embauche est un champ de type DateTime ( c'est ça qui a compliqué l'affaire j'ai l'impression)

 

Et comme erreur c'est :

 
Citation :

La méthode surchargée correspondant le mieux à '....DisplayDaysOnJob(System.DateTime)' possède des arguments non valides


Message édité par defjay le 19-03-2008 à 15:07:45
Reply

Marsh Posté le 19-03-2008 à 15:05:29   

Reply

Marsh Posté le 20-03-2008 à 22:56:48    

Le type de données dans ta base pour le champ "date_embauche", c'est quoi ?
Accessoirement, si c'est bien un champ de type Date (et non pas un timestamp ou autre varchar), essaie d'attendre un OleDateTime (où autre type natif qui correspond au type date pour ton connecteur)

Reply

Marsh Posté le 21-04-2008 à 20:40:48    

As-tu essayé avec une méthode plus générique du type:
DisplayDaysOnJob(object value)
 
Et dans la méthode, tu essaie de faire un cast (avec l'opérateur is pour plus de sécurité):
 
if (value is DateTime)
{
  ...
}


---------------
Distributeurs automatiques à proximité | Jupiteo - Création et optimisation d'application web
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed