2010-05-01 3 views
0

j'ai besoin de convertir la date en shamsi dateerreur - convertir la date à l'affichage en vue

je crée une méthode qui convertit DateTime en shamsi Date.

quand je passe une date à la méthode que je suis arrivé cette erreur

Le match de la meilleure méthode surchargée pour 'BentaAccounting.Classes.GenralClasses.FarsiDate.MiladiToShamsi (System.DateTime)' a quelques arguments invalides

c'est le code que je utilise

la méthode

public static string MiladiToShamsi(DateTime Date) 
     { 
      string Result; 
      PersianCalendar FarsiDate = new PersianCalendar(); 
      Result = FarsiDate.GetYear(Date).ToString() + "/" + 
       (FarsiDate.GetMonth(Date) < 10 ? "0" + FarsiDate.GetMonth(Date).ToString() : FarsiDate.GetMonth(Date).ToString()) + "/" + 
       (FarsiDate.GetDayOfMonth(Date) < 10 ? "0" + FarsiDate.GetDayOfMonth(Date).ToString() : FarsiDate.GetDayOfMonth(Date).ToString()); 
      return Result; 
     } 

et vue

<%: Html.Encode(GenralClasses.FarsiDate.MiladiToShamsi(item.OrderDate))%> 
+0

Bonjour Ali, j'ai essayé votre exemple et cela fonctionne sans exception. Peut être que je manque quelque chose –

Répondre

0

Essayez cette

public static string MiladiToShamsi(DateTime Date) 
     { 
      string Result; 
      string Year; 
      string Month; 
      string Day; 
      # string Result, Year, Month, Day I don't know this works or not in asp.net 
      PersianCalendar FarsiDate = new PersianCalendar(); 
      Year = FarsiDate.GetYear(Date).ToString(); 
      Month = (FarsiDate.GetMonth(Date) < 10 ? "0" + FarsiDate.GetMonth(Date).ToString() : FarsiDate.GetMonth(Date).ToString()); 
      Day = (FarsiDate.GetDayOfMonth(Date) < 10 ? "0" + FarsiDate.GetDayOfMonth(Date).ToString() : FarsiDate.GetDayOfMonth(Date).ToString()); 
      Result = Year + "/" + Month + "/" + Day ; 
      return Result; 
     } 
0

La seule raison pour laquelle vous obtenez cette exception est - le type de item.OrderDate pas DateTime. Maby c'est chaîne ou autre chose.

+0

NON je suis sûr que le type de données de orderDate est DateTime – Ali

+0

Ceci est très étrange. J'ai essayé votre code de la manière suivante et cela fonctionne très bien <%: Html.Encode (GenralClasses.FarsiDate.MiladiToShamsi (DateTime.Now))%> Cela fonctionne-t-il pour vous? –

+0

Non ça ne marche pas pour moi. Le type de données de OrderDate était nvarchar avant et je l'ai changé en datetime. – Ali