Я пытался отправить форму на мой контроллер:
Id=0&ReportDate=2010-08-09T00%3A00%3A00&SampleText=Save
Это отправленное сообщение XHR, мой контроллер выбирает все свойства, кроме ReportDate, вместо этого устанавливая его в .NETэпоха DateTime.Есть идеи?
Редактировать: Если я установлю другую переменную, ReportDateString
, отправлю строку в контроллер и сделаю DateTime.Parse()
, она работает нормально.Однако я действительно хотел бы иметь возможность привязывать DateTime напрямую, так как это выглядит хакерским.
Редактировать 2: Вот мой код контроллера:
public void CreateTest(MyObject myObject) {
myObjectRepository.Update(rootObject);
}
И мой объект:
public class MyObject {
public int Id { get; set; }
public string SampleText{ get; set; }
public DateTime ReportDate { get; set; }
}
Если я установлю отладку, я могу видеть, что механизм связывания модели успешно связывает все свойства моего поста, кроме DateTime, который он устанавливает на дату эпохи.
Редактировать 3: Форма:
<form id="testform" method="post">
<input type="hidden" name="Id" value="0" />
<input type="hidden" name="ReportDate" value="2010-08-09T00-00-00" />
<input type="text" name="SampleText" value="Test"/>
<button id="saveButton">Save</button>
</form>
Javascript:
$('#saveButton')live('click', function(e) {
$.post('CreateTest', $('#testform').serialize())
});