2012-06-10 7 views
1

Salut J'essaie d'utiliser AJAX pour modifier une grille.MVC JSON AJAX Format DateTime

Le premier modèle que je fait (BPViewModel):

public DateTime Day { get; set; } 

Le dépôt:

public static IList<BPViewModel> All() 
    { 
     IList<BPViewModel> result = (IList<BPViewModel>)HttpContext.Current.Session["BloodPressures"]; 
     //  string id = "2222222222"; 
     // id = Session["PHN"].ToString(); 
     if (result == null) 
     { 
      HttpContext.Current.Session["BloodPressures"] = result = 
       (from bloodpressure in new DALDataContext().BloodPressures 
       select new BPViewModel 
       { 
       ....... 
        Day = bloodpressure.Day 
       }).ToList(); 
     } 

     return result; 
    } 

Dans le contrôleur, je reçois les données à l'aide »

public ActionResult BloodPressure_Read([DataSourceRequest] DataSourceRequest request) 
     { 
     return Json(BPRepository.All().ToDataSourceResult(request)); 
     } 

De l'avis:

@(Html.Kendo().Grid<BPViewModel>() 

    .Name("Grid") 
    .Columns(columns => 
    columns.Bound(p => p.Day).Format("{0:d}"); 

La date est affichée en tant que 1/1/2012; cependant quand je l'édite (en utilisant Ajax) il montre comme Sun Jan 1 00:00:00 PST 2012 !! Lorsque je tente de mettre à jour la ligne, il ne fonctionne pas.

Toute idée comment je peux convertir la date que je reçois « Day est invalide date.

J'ai essayé d'utiliser bloodpressure.Day.ToShortDateString() pour ?. aaaa, mm, dd de Merci à l'avance

Répondre

0

pour référence, voici quelques lectures sur MSDN pour date heure mise en forme: http://msdn.microsoft.com/en-us/library/8kb3ddd4

Cela dit avez-vous essayé quelque chose d'aussi simple que ce qui suit:

yourdate.ToString("yyyy-MM-dd"); 
+0

Merci, cela n'a pas fonctionné; got Impossible de convertir implicitement le type 'string' en erreur 'System.DateTime'. – hncl

+0

Ensuite, vous travaillez déjà avec une chaîne. Il suffit d'utiliser la même mise en forme avec yourstring.Format – Jesse

+0

Merci, je vais essayer – hncl