1

Я пытаюсь отправить через POST или PUT простой DateTime свойство в формате времени UNIX:Как я могу POST JSon DateTime в формате времени UNIX в ASP.NET MVC 4 WebAPI действия для Entity Framework 4

{ ... "Created": "/Date(1307871513107+0700)/" ... } 

к моему ASP.NET MVC 4 WebAPI действия:

... 
// PUT /api/<controller>/<action> 
public HttpResponseMessage PutUser(UserInfo userInfo) 
{ 
... 

UserInfo обычная модель

... 
public DateTime Created { get; set; } 
... 

, который используется для EF4 DbCo NTEXT

... 
public class DgDbContext : DbContext 
    { 
public DbSet<UserInfo> UserInfo { get; set; } 
... 

В отладке и получить мою модель в действии контроллера, у меня есть DateTime пропеллер, но в неправильном формате:

{01.01.0001 0:00:00} 

Где моя ошибка, и как я могу это исправить?

Все остальные поля становятся правильными. Строки типа «dd.MM.yyyy hh: mm: ss» работают хорошо. Я попытался отправить:

  • { "Создано": "Дата (1307871513107)"}
  • { "Создано": "/ Date (1307871513107) /"}
  • { «Создано «: "/ Дата (1307871513107) /"}
  • { "Дата создания": "\ Дата (1307871513107) \"}
  • т.д.

Спасибо.

ответ

3

В основном у вас есть три варианта:

  • получить данные как ViewModel с датой в строку, а затем разобрать его, как this
  • Определить два свойства на модели, один игнорировали для EF (как строка), а другой будет пустым из AJAX (как дата). Разбираем значение после того, как вы получите дату в контроллере
  • Создание пользовательской модели связующий

Выберите тот, который проще для вас, который я полагаю это второй один.

+0

Спасибо. Да, второе решение лучше, я буду использовать его. –