2015-10-15 12 views
0

Привет, ребята/Девушки Я супер новый для asp.net mvc и Im, пытающийся преобразовать дату в читаемый формат. В настоящее время это выглядит так.Преобразование формата даты в

/Date(1444892163827)/ 

My Model

public class Movie 
    { 
     internal string title; 
     internal DateTime releasedate; 
     internal string genre; 

     public int ID { get; set; } 

     [Required] 
     public string Title { get; set; } 

     public DateTime ReleaseDate { get; set; } 

     [Required] 
     public string Genre { get; set; } 
    } 

    public class MovieDBContext : DbContext 
    { 
     public DbSet<Movie> Movies { get; set; } 
    } 

Мой контроллер

public JsonResult getAll() 
     { 
      using (MovieDBContext dataContext = new MovieDBContext()) 
      { 
       var movieList = dataContext.Movies.ToList(); 
       return Json(movieList, JsonRequestBehavior.AllowGet); 
      } 
     } 

     public JsonResult getMovieByNo(string MovNo) 
     { 
      using (MovieDBContext dataContext = new MovieDBContext()) 
      { 
       int no = Convert.ToInt32(MovNo); 
       var movieList = dataContext.Movies.Find(no); 
       return Json(movieList, JsonRequestBehavior.AllowGet); 
      } 

     }  

Любая помощь будет очень признателен!

+0

Приведи [этот ответ] (http://stackoverflow.com/questions/206384/format-a-microsoft- json-date) или просто вернуть коллекцию анонимных объектов с 'DateTime', преобразованную в форматированную строку' 0'. –

+0

Для возврата анонимных объектов это будет 'var movieList = dataContext.Movies.Select (m => new {ID = m .ID, Title = m.Title, ReleaseDate = m.ReleaseDate.ToString (yourFormat), Genre = m.Genre}); ' –

+0

Привет, Стивен, спасибо за ваш ответ, это тоже помогло: D –

ответ

1

Вам нужно создать CustomJsonResult в MVC, где вы используете, например, JSON.Net с IsoDateTimeConverter, или вы должны сменить проект MVC на WebAPI, если вы вернете только JSON.

Создать класс из этого https://stackoverflow.com/a/9302054/4599089 (подход 2), а затем использовать это в контроллере:

public JsonResult getAll() 
    { 
     using (MovieDBContext dataContext = new MovieDBContext()) 
     { 
      var movieList = dataContext.Movies.ToList(); 
      return new CustomJsonResult(){Data = movieList}; 
     } 
    } 

    public JsonResult getMovieByNo(string MovNo) 
    { 
     using (MovieDBContext dataContext = new MovieDBContext()) 
     { 
      int no = Convert.ToInt32(MovNo); 
      var movieList = dataContext.Movies.Find(no); 
      return new CustomJsonResult(){Data = movieList}; 
     } 

    } 
+0

Для этого http: /stackoverflow.com/a/9302054/4599089 (Appr oach 2) вам нужно установить Json.NET из Nuget –

+0

Отличное спасибо Bartosz, это сработало отлично. –

Смежные вопросы